{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.ZF97ctvn/b1/rustc_1.83.0+dfsg1-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.ZF97ctvn/b2/rustc_1.83.0+dfsg1-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,20 +1,20 @@\n \n c29c778ed91bd3f4fa632e0e74f0507a 72090168 debug optional cargo-dbgsym_1.83.0+dfsg1-1_amd64.deb\n- 4b6983a1811ce0151ba1aa655dd733b3 4309128 doc optional cargo-doc_1.83.0+dfsg1-1_all.deb\n+ 64b652610b06ccec3a747897f6c1b204 4309348 doc optional cargo-doc_1.83.0+dfsg1-1_all.deb\n f3faa0815b723aacebe9a4300381a43c 6208016 devel optional cargo_1.83.0+dfsg1-1_amd64.deb\n 93ca23253f0e08278b46c4b418461ceb 265907436 debug optional libstd-rust-1.83-dbgsym_1.83.0+dfsg1-1_amd64.deb\n b7d0ae05bc5885d32cc9f22710d9b720 19396008 libs optional libstd-rust-1.83_1.83.0+dfsg1-1_amd64.deb\n 83ec025906fb5073052c1ac8ad2147d5 121124628 libdevel optional libstd-rust-dev-wasm32_1.83.0+dfsg1-1_all.deb\n- c9c272d9c4aea73a9e0f15c0669d8e5e 43617732 libdevel optional libstd-rust-dev-windows_1.83.0+dfsg1-1_amd64.deb\n+ 1540d0250a1bd5eb380e5a94259784fb 43622568 libdevel optional libstd-rust-dev-windows_1.83.0+dfsg1-1_amd64.deb\n 5682dbca6a973c6bef4f9e907d071859 38654988 libdevel optional libstd-rust-dev_1.83.0+dfsg1-1_amd64.deb\n 1c03bfc5ddee21984d2424b4a499a192 237312 devel optional rust-all_1.83.0+dfsg1-1_all.deb\n 3dd7b9f3c5a33809baa28b975715354c 59965336 debug optional rust-clippy-dbgsym_1.83.0+dfsg1-1_amd64.deb\n a3762440ac21cab13df59e4e5ebc9a78 3297264 devel optional rust-clippy_1.83.0+dfsg1-1_amd64.deb\n- dec7be8f582aaf74e5cd59441909aef4 22223036 doc optional rust-doc_1.83.0+dfsg1-1_all.deb\n+ 49a772ebdfa678286ef4fe8409742d42 22073860 doc optional rust-doc_1.83.0+dfsg1-1_all.deb\n 60e3968ef3498034bc3f64056a8a7294 243016 devel optional rust-gdb_1.83.0+dfsg1-1_all.deb\n 11fb39af30be7dbad349585a186313bc 243768 devel optional rust-lldb_1.83.0+dfsg1-1_all.deb\n f3fc176b7109b9a419b055a26c1a9c7f 1712880 devel optional rust-llvm_1.83.0+dfsg1-1_amd64.deb\n ee5a3aed8c19a06659b4af89c954988a 46522292 devel optional rust-src_1.83.0+dfsg1-1_all.deb\n 67f763d52d2585df3af4250d41049c82 36425672 debug optional rustc-dbgsym_1.83.0+dfsg1-1_amd64.deb\n 3dbe75ac6c875230849f6519325b75d0 3767164 devel optional rustc_1.83.0+dfsg1-1_amd64.deb\n 089bb35fc6cb9b9b98c5e64ab1bb7144 24135700 debug optional rustfmt-dbgsym_1.83.0+dfsg1-1_amd64.deb\n"}, {"source1": "cargo-doc_1.83.0+dfsg1-1_all.deb", "source2": "cargo-doc_1.83.0+dfsg1-1_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-12-04 17:07:54.000000 debian-binary\n--rw-r--r-- 0 0 0 74780 2024-12-04 17:07:54.000000 control.tar.xz\n--rw-r--r-- 0 0 0 4234156 2024-12-04 17:07:54.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 74796 2024-12-04 17:07:54.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 4234360 2024-12-04 17:07:54.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": "file list", "source2": "file list", "unified_diff": "@@ -2745,15 +2745,15 @@\n -rw-r--r-- 0 root (0) root (0) 35914 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/struct.Registry.html\n -rw-r--r-- 0 root (0) root (0) 22990 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/struct.TotalCrates.html\n -rw-r--r-- 0 root (0) root (0) 25438 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/struct.User.html\n -rw-r--r-- 0 root (0) root (0) 22944 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/struct.Users.html\n -rw-r--r-- 0 root (0) root (0) 21933 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/struct.Warnings.html\n -rw-r--r-- 0 root (0) root (0) 4964 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/crates_io/type.Result.html\n -rw-r--r-- 0 root (0) root (0) 2991 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/help.html\n--rw-r--r-- 0 root (0) root (0) 3266 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/index.html\n+-rw-r--r-- 0 root (0) root (0) 3273 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/\n -rw-r--r-- 0 root (0) root (0) 5349 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/all.html\n -rw-r--r-- 0 root (0) root (0) 28713 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/enum.Format.html\n -rw-r--r-- 0 root (0) root (0) 4171 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/fn.convert.html\n -rw-r--r-- 0 root (0) root (0) 3399 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/fn.extract_section.html\n -rw-r--r-- 0 root (0) root (0) 3207 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/fn.join_url.html\n -rw-r--r-- 0 root (0) root (0) 4043 2024-12-04 17:07:54.000000 ./usr/share/doc/cargo/reference/mdman/fn.md_parser.html\n"}, {"source1": "./usr/share/doc/cargo/reference/index.html", "source2": "./usr/share/doc/cargo/reference/index.html", "unified_diff": "@@ -1,2 +1,2 @@\n-Index of crates

List of all crates

\n-\n+Index of crates

List of all crates

\n+\n"}]}]}]}, {"source1": "libstd-rust-dev-windows_1.83.0+dfsg1-1_amd64.deb", "source2": "libstd-rust-dev-windows_1.83.0+dfsg1-1_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-12-04 17:07:54.000000 debian-binary\n--rw-r--r-- 0 0 0 2280 2024-12-04 17:07:54.000000 control.tar.xz\n--rw-r--r-- 0 0 0 43615260 2024-12-04 17:07:54.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2284 2024-12-04 17:07:54.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 43620092 2024-12-04 17:07:54.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-79f5311fdc939639.rlib", "source2": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/libstd-79f5311fdc939639.rlib", "unified_diff": null, "details": [{"source1": "nm -s {}", "source2": "nm -s {}", "unified_diff": "@@ -2232,20 +2232,20 @@\n __imp__ZN3std3sys3pal7windows1c20SetThreadDescription3PTR17h7a3468667af7bc6eE in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN4core3ptr91drop_in_place$LT$alloc..vec..Vec$LT$core..mem..maybe_uninit..MaybeUninit$LT$u16$GT$$GT$$GT$17h18678f838e82a388E.llvm.15558594833912929062 in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h259a17143b880e70E in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN3std4pipe10PipeWriter9try_clone17hfd5fa3186f7dbdd8E in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN5alloc11collections5btree3map5entry30OccupiedEntry$LT$K$C$V$C$A$GT$6insert17hedd53c099864054dE in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN3std3sys3pal7windows7to_u16s17h2412217ccc6a719cE in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n _ZN3std3sys3pal7windows7to_u16s17he6413ae5b6da539dE in std-79f5311fdc939639.std.35790f9aa360fffb-cgu.15.rcgu.o\n-___tmp_rustcrLCF5h_bcryptprimitives_dll_imports_lib_iname in bcryptprimitives.dllt.o\n-_head__tmp_rustcrLCF5h_bcryptprimitives_dll_imports_lib in bcryptprimitives.dllh.o\n+___tmp_rustcOwSwjD_bcryptprimitives_dll_imports_lib_iname in bcryptprimitives.dllt.o\n+_head__tmp_rustcOwSwjD_bcryptprimitives_dll_imports_lib in bcryptprimitives.dllh.o\n ProcessPrng in bcryptprimitives.dlls00000.o\n __imp_ProcessPrng in bcryptprimitives.dlls00000.o\n-___tmp_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname in api-ms-win-core-synch-l1-2-0.dllt.o\n-_head__tmp_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib in api-ms-win-core-synch-l1-2-0.dllh.o\n+___tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname in api-ms-win-core-synch-l1-2-0.dllt.o\n+_head__tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_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@@ -6932,89 +6932,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_rustcrLCF5h_bcryptprimitives_dll_imports_lib_iname\n+0000000000000000 I ___tmp_rustcOwSwjD_bcryptprimitives_dll_imports_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_rustcrLCF5h_bcryptprimitives_dll_imports_lib_iname\n-0000000000000000 I _head__tmp_rustcrLCF5h_bcryptprimitives_dll_imports_lib\n+ U ___tmp_rustcOwSwjD_bcryptprimitives_dll_imports_lib_iname\n+0000000000000000 I _head__tmp_rustcOwSwjD_bcryptprimitives_dll_imports_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_rustcrLCF5h_bcryptprimitives_dll_imports_lib\n+ U _head__tmp_rustcOwSwjD_bcryptprimitives_dll_imports_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_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname\n+0000000000000000 I ___tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_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_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname\n-0000000000000000 I _head__tmp_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n+ U ___tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname\n+0000000000000000 I _head__tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_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_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n+ U _head__tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_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_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n+ U _head__tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_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_rustcrLCF5h_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n+ U _head__tmp_rustcOwSwjD_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n"}, {"source1": "bcryptprimitives.dllt.o", "source2": "bcryptprimitives.dllt.o", "has_internal_linenos": true, "unified_diff": "@@ -30,11 +30,11 @@\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 3e00 0000 5f5f ..........>...__\n-00000240: 5f74 6d70 5f72 7573 7463 724c 4346 3568 _tmp_rustcrLCF5h\n+00000240: 5f74 6d70 5f72 7573 7463 4f77 5377 6a44 _tmp_rustcOwSwjD\n 00000250: 5f62 6372 7970 7470 7269 6d69 7469 7665 _bcryptprimitive\n 00000260: 735f 646c 6c5f 696d 706f 7274 735f 6c69 s_dll_imports_li\n 00000270: 625f 696e 616d 6500 b_iname.\n"}, {"source1": "bcryptprimitives.dllh.o", "source2": "bcryptprimitives.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 724c 4346 3568 _tmp_rustcrLCF5h\n+00000260: 5f74 6d70 5f72 7573 7463 4f77 5377 6a44 _tmp_rustcOwSwjD\n 00000270: 5f62 6372 7970 7470 7269 6d69 7469 7665 _bcryptprimitive\n 00000280: 735f 646c 6c5f 696d 706f 7274 735f 6c69 s_dll_imports_li\n-00000290: 6200 5f5f 5f74 6d70 5f72 7573 7463 724c b.___tmp_rustcrL\n-000002a0: 4346 3568 5f62 6372 7970 7470 7269 6d69 CF5h_bcryptprimi\n+00000290: 6200 5f5f 5f74 6d70 5f72 7573 7463 4f77 b.___tmp_rustcOw\n+000002a0: 5377 6a44 5f62 6372 7970 7470 7269 6d69 SwjD_bcryptprimi\n 000002b0: 7469 7665 735f 646c 6c5f 696d 706f 7274 tives_dll_import\n 000002c0: 735f 6c69 625f 696e 616d 6500 s_lib_iname.\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 5a00 0000 5072 6f63 6573 7350 ....Z...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 724c 4346 3568 5f62 6372 _rustcrLCF5h_bcr\n+00000260: 5f72 7573 7463 4f77 5377 6a44 5f62 6372 _rustcOwSwjD_bcr\n 00000270: 7970 7470 7269 6d69 7469 7665 735f 646c yptprimitives_dl\n 00000280: 6c5f 696d 706f 7274 735f 6c69 6200 l_imports_lib.\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 4a00 0000 5f5f 5f74 6d70 ......J...___tmp\n-00000250: 5f72 7573 7463 724c 4346 3568 5f61 7069 _rustcrLCF5h_api\n+00000250: 5f72 7573 7463 4f77 5377 6a44 5f61 7069 _rustcOwSwjD_api\n 00000260: 5f6d 735f 7769 6e5f 636f 7265 5f73 796e _ms_win_core_syn\n 00000270: 6368 5f6c 315f 325f 305f 646c 6c5f 696d ch_l1_2_0_dll_im\n 00000280: 706f 7274 735f 6c69 625f 696e 616d 6500 ports_lib_iname.\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,16 +32,16 @@\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 4800 0000 0000 0000 ........H.......\n 00000250: 0000 0000 0200 8e00 0000 5f68 6561 645f .........._head_\n-00000260: 5f74 6d70 5f72 7573 7463 724c 4346 3568 _tmp_rustcrLCF5h\n+00000260: 5f74 6d70 5f72 7573 7463 4f77 5377 6a44 _tmp_rustcOwSwjD\n 00000270: 5f61 7069 5f6d 735f 7769 6e5f 636f 7265 _api_ms_win_core\n 00000280: 5f73 796e 6368 5f6c 315f 325f 305f 646c _synch_l1_2_0_dl\n 00000290: 6c5f 696d 706f 7274 735f 6c69 6200 5f5f l_imports_lib.__\n-000002a0: 5f74 6d70 5f72 7573 7463 724c 4346 3568 _tmp_rustcrLCF5h\n+000002a0: 5f74 6d70 5f72 7573 7463 4f77 5377 6a44 _tmp_rustcOwSwjD\n 000002b0: 5f61 7069 5f6d 735f 7769 6e5f 636f 7265 _api_ms_win_core\n 000002c0: 5f73 796e 6368 5f6c 315f 325f 305f 646c _synch_l1_2_0_dl\n 000002d0: 6c5f 696d 706f 7274 735f 6c69 625f 696e l_imports_lib_in\n 000002e0: 616d 6500 ame.\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,12 +33,12 @@\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 7600 0000 ............v...\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 724c ead__tmp_rustcrL\n-00000280: 4346 3568 5f61 7069 5f6d 735f 7769 6e5f CF5h_api_ms_win_\n+00000270: 6561 645f 5f74 6d70 5f72 7573 7463 4f77 ead__tmp_rustcOw\n+00000280: 5377 6a44 5f61 7069 5f6d 735f 7769 6e5f SwjD_api_ms_win_\n 00000290: 636f 7265 5f73 796e 6368 5f6c 315f 325f core_synch_l1_2_\n 000002a0: 305f 646c 6c5f 696d 706f 7274 735f 6c69 0_dll_imports_li\n 000002b0: 6200 b.\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,11 +33,11 @@\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 7000 0000 5761 6b65 ........p...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 724c 4346 3568 5f61 7069 5f6d ustcrLCF5h_api_m\n+00000270: 7573 7463 4f77 5377 6a44 5f61 7069 5f6d ustcOwSwjD_api_m\n 00000280: 735f 7769 6e5f 636f 7265 5f73 796e 6368 s_win_core_synch\n 00000290: 5f6c 315f 325f 305f 646c 6c5f 696d 706f _l1_2_0_dll_impo\n 000002a0: 7274 735f 6c69 6200 rts_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 6a00 0000 5761 6974 4f6e 4164 ....j...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 724c 4346 3568 _tmp_rustcrLCF5h\n+00000260: 5f74 6d70 5f72 7573 7463 4f77 5377 6a44 _tmp_rustcOwSwjD\n 00000270: 5f61 7069 5f6d 735f 7769 6e5f 636f 7265 _api_ms_win_core\n 00000280: 5f73 796e 6368 5f6c 315f 325f 305f 646c _synch_l1_2_0_dl\n 00000290: 6c5f 696d 706f 7274 735f 6c69 6200 l_imports_lib.\n"}]}, {"source1": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/std-79f5311fdc939639.dll", "source2": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/std-79f5311fdc939639.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\t018b3000\n SizeOfHeaders\t\t00000600\n-CheckSum\t\t0194a0ea\n+CheckSum\t\t01944880\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@@ -49418,608 +49418,608 @@\n [13545](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022cc0 anon.bee77dec0f40919064a7130a9cb9a3c8.1.llvm.9526575686914974875\n [13546](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.27.llvm.15558594833912929062\n [13547](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __rt_psrelocs_start\n [13548](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068540 WriteConsoleW\n [13549](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007220 anon.613c2815b58d0fe89e530fd715781380.93.llvm.8111713219908570339\n [13550](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026628 anon.3f0cf08f2a28531d822fb6666d6454ce.1.llvm.14459211374459367874\n [13551](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026158 _ZN4core7unicode12unicode_data15grapheme_extend7OFFSETS17h864beb6b3986fc3dE.llvm.16023864972203878572\n-[13552](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 _head__tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib\n-[13553](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000920 __imp_SetFilePointerEx\n-[13554](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.13.llvm.11601850474718555977\n-[13555](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000187a anon.ccb22e4cd7fbcbc558a5e5a3f0337848.36.llvm.11601850474718555977\n-[13556](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001c8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.21.llvm.15379776895320610564\n-[13557](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd8 __IAT_end__\n-[13558](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017608 anon.2d23cbceb7e4b258e81d2b77fc160d81.3.llvm.12965910548521623435\n-[13559](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_anon.df907a58630ce218ee9088e2e7c01296.5.llvm.3107137444050650198\n-[13560](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f03 anon.613c2815b58d0fe89e530fd715781380.52.llvm.8111713219908570339\n-[13561](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068860 AddVectoredExceptionHandler\n-[13562](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_setsockopt\n-[13563](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685d0 SetFileTime\n-[13564](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009297 anon.a6a9d96e94134c7f8942c31c082ec88f.14.llvm.15558594833912929062\n-[13565](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_CreateNamedPipeW\n-[13566](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_WSADuplicateSocketW\n-[13567](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000018420 _ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha5d0c39293d82f99E\n-[13568](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_GetTempPathW\n-[13569](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685f8 SetCurrentDirectoryW\n-[13570](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000510 __imp_anon.b856ed75cf5d248ad8ab7df55ef82720.4.llvm.17494912285420036471\n-[13571](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.20.llvm.15558594833912929062\n-[13572](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026f80 .refptr._CRT_MT\n-[13573](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a00 __imp_anon.125b845408d80ffb3be797922b5dde7d.10.llvm.15618036608475994017\n-[13574](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006530 anon.bde97222c13a73c1114c64f571df7937.42.llvm.16760335183301466238\n-[13575](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13dc NtReadFile\n-[13576](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a0 __imp_Module32NextW\n-[13577](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000170d0 anon.70a734ceb075a3f77ae0022f3903a47c.0.llvm.1562060106219418788\n-[13578](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068690 HeapFree\n-[13579](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000408 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.98.llvm.5413364227057093393\n-[13580](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f8 __imp_anon.faa17738fd60f01f36928133f6f2e7da.1.llvm.7372912216135829142\n-[13581](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c40 __imp_anon.68adf46199d381a3e7579e3039a486b2.33.llvm.16023864972203878572\n-[13582](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068630 ReadConsoleW\n-[13583](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_recvfrom\n-[13584](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000290 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.16.llvm.11878318536325309687\n-[13585](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685e0 SetFileInformationByHandle\n-[13586](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 ___RUNTIME_PSEUDO_RELOC_LIST_END__\n-[13587](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092a2 anon.a6a9d96e94134c7f8942c31c082ec88f.15.llvm.15558594833912929062\n-[13588](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba0 __imp__Unwind_GetRegionStart\n-[13589](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001640 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.9.llvm.11601850474718555977\n-[13590](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007888 anon.4e490f9e57c31783abc71684d8dd07fd.26.llvm.10362654779312666465\n-[13591](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009548 anon.a6a9d96e94134c7f8942c31c082ec88f.46.llvm.15558594833912929062\n-[13592](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000688 __imp_CloseHandle\n-[13593](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005218 anon.d6527d4515cb88f97b880ef9d8324e35.6.llvm.7969141108083497962\n-[13594](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.8.llvm.11601850474718555977\n-[13595](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a0 __imp_anon.d09efb1a21878a6327720f5f05032caf.5.llvm.4759734605172953274\n-[13596](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000350 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.31.llvm.5413364227057093393\n-[13597](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_SetHandleInformation\n-[13598](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_TlsFree\n-[13599](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.2.llvm.12307589555557943707\n-[13600](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp_bind\n-[13601](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000174cd anon.df907a58630ce218ee9088e2e7c01296.5.llvm.3107137444050650198\n-[13602](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_InitializeProcThreadAttributeList\n-[13603](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000380 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.37.llvm.5413364227057093393\n-[13604](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_send\n-[13605](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a70 anon.14e8aa8ff63fa88c8acdb0adf657021d.45.llvm.5413364227057093393\n-[13606](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000410 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.99.llvm.5413364227057093393\n-[13607](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003a8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.56.llvm.5413364227057093393\n-[13608](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686b0 GetSystemTimePreciseAsFileTime\n-[13609](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_SetLastError\n-[13610](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092fe anon.a6a9d96e94134c7f8942c31c082ec88f.22.llvm.15558594833912929062\n-[13611](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c8 __imp_anon.ca9c0bd954bf21a00ff37d225387af39.22.llvm.15540661059315109834\n-[13612](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004170 anon.14e8aa8ff63fa88c8acdb0adf657021d.102.llvm.5413364227057093393\n-[13613](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xc_start__\n-[13614](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068810 CreateNamedPipeW\n-[13615](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.36.llvm.11601850474718555977\n-[13616](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.0.llvm.12965910548521623435\n-[13617](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.46.llvm.15558594833912929062\n-[13618](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_recv\n-[13619](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000076c0 anon.4e490f9e57c31783abc71684d8dd07fd.11.llvm.10362654779312666465\n-[13620](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005900 anon.d6527d4515cb88f97b880ef9d8324e35.82.llvm.7969141108083497962\n-[13621](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 __imp_anon.334eed3927282b5a277288f09f1debb7.59.llvm.2001445131880281990\n-[13622](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_CompareStringOrdinal\n-[13623](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000191 __rust_no_alloc_shim_is_unstable\n-[13624](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_anon.548af9b593bb376764255d41b66dd9ad.0.llvm.18313050272482191136\n-[13625](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000430 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.103.llvm.5413364227057093393\n-[13626](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000420 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.101.llvm.5413364227057093393\n-[13627](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1508 _Unwind_SetGR\n-[13628](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __mingw_module_is_dll\n-[13629](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009345 anon.a6a9d96e94134c7f8942c31c082ec88f.27.llvm.15558594833912929062\n-[13630](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068718 GetFinalPathNameByHandleW\n-[13631](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000118 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.20.llvm.11601850474718555977\n-[13632](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fb0 .refptr.__CTOR_LIST__\n-[13633](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001798 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.20.llvm.11601850474718555977\n-[13634](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000998 __imp_UpdateProcThreadAttribute\n-[13635](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068780 GetCommandLineW\n-[13636](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_WSASend\n-[13637](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000924d anon.a6a9d96e94134c7f8942c31c082ec88f.8.llvm.15558594833912929062\n-[13638](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.4.llvm.12965910548521623435\n-[13639](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.12.llvm.10362654779312666465\n-[13640](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004f0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.82.llvm.7969141108083497962\n-[13641](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.51.llvm.15558594833912929062\n-[13642](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_DuplicateHandle\n-[13643](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008e60 anon.1191e1e0e30864bbfca263014384cde2.150.llvm.6926716171404039897\n-[13644](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 anon.cf682d2739cc67cde0d187baeb967659.2.llvm.1023057999724376019\n-[13645](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp_anon.125b845408d80ffb3be797922b5dde7d.8.llvm.15618036608475994017\n-[13646](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d8 __imp_anon.74fdae6415b638aa25041aa4487a05ae.3.llvm.16272800707749704641\n-[13647](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006560 anon.bde97222c13a73c1114c64f571df7937.44.llvm.16760335183301466238\n-[13648](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp___rust_no_alloc_shim_is_unstable\n-[13649](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260b8 anon.68adf46199d381a3e7579e3039a486b2.35.llvm.16023864972203878572\n-[13650](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000968 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.62.llvm.15558594833912929062\n-[13651](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068800 CreateProcessW\n-[13652](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040d8 anon.14e8aa8ff63fa88c8acdb0adf657021d.97.llvm.5413364227057093393\n-[13653](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.6.llvm.7969141108083497962\n-[13654](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.89.llvm.5413364227057093393\n-[13655](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000398 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.44.llvm.5413364227057093393\n-[13656](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp__ZN4core7unicode12unicode_data9uppercase14BITSET_MAPPING17h12a372c11dd8d387E\n-[13657](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000016bd anon.ccb22e4cd7fbcbc558a5e5a3f0337848.13.llvm.11601850474718555977\n-[13658](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.30.llvm.15379776895320610564\n-[13659](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_DeleteCriticalSection\n-[13660](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092d5 anon.a6a9d96e94134c7f8942c31c082ec88f.19.llvm.15558594833912929062\n-[13661](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000096c8 anon.a6a9d96e94134c7f8942c31c082ec88f.63.llvm.15558594833912929062\n-[13662](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003b0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.57.llvm.5413364227057093393\n-[13663](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000004 __major_os_version__\n-[13664](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000538 __imp_anon.bde97222c13a73c1114c64f571df7937.6.llvm.16760335183301466238\n-[13665](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1478 closesocket\n-[13666](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp__ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n-[13667](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_GetFullPathNameW\n-[13668](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __imp_anon.cf682d2739cc67cde0d187baeb967659.11.llvm.1023057999724376019\n-[13669](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_anon.125b845408d80ffb3be797922b5dde7d.11.llvm.15618036608475994017\n-[13670](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_sendto\n-[13671](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1708 memset\n-[13672](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a0 __imp_anon.613c2815b58d0fe89e530fd715781380.116.llvm.8111713219908570339\n-[13673](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686d0 GetProcessId\n-[13674](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 _ZN3std3sys9backtrace4lock4LOCK17h82dca2cab18674fbE.llvm.16760335183301466238\n-[13675](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000930d anon.a6a9d96e94134c7f8942c31c082ec88f.23.llvm.15558594833912929062\n-[13676](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e0 __mingw_initltssuo_force\n-[13677](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001878 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.35.llvm.11601850474718555977\n-[13678](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000089d8 anon.1191e1e0e30864bbfca263014384cde2.79.llvm.6926716171404039897\n-[13679](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b60 anon.14e8aa8ff63fa88c8acdb0adf657021d.57.llvm.5413364227057093393\n-[13680](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp__Unwind_GetLanguageSpecificData\n-[13681](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14c0 WSACleanup\n-[13682](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003ff0 anon.14e8aa8ff63fa88c8acdb0adf657021d.89.llvm.5413364227057093393\n-[13683](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006ac8 anon.613c2815b58d0fe89e530fd715781380.5.llvm.8111713219908570339\n-[13684](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000300 __imp__ZN3std4sync4mpmc7context7Context4with7CONTEXT28_$u7b$$u7b$closure$u7d$$u7d$3VAL17hc03d2558d93158e8E\n-[13685](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1538 _Unwind_GetIPInfo\n-[13686](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp_calloc\n-[13687](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1428 recvfrom\n-[13688](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a10 anon.14e8aa8ff63fa88c8acdb0adf657021d.43.llvm.5413364227057093393\n-[13689](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013440 anon.74fdae6415b638aa25041aa4487a05ae.2.llvm.16272800707749704641\n-[13690](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_GetFinalPathNameByHandleW\n-[13691](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_anon.548af9b593bb376764255d41b66dd9ad.15.llvm.18313050272482191136\n-[13692](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f0 __imp_anon.faa17738fd60f01f36928133f6f2e7da.0.llvm.7372912216135829142\n-[13693](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004068 anon.14e8aa8ff63fa88c8acdb0adf657021d.94.llvm.5413364227057093393\n-[13694](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __loader_flags__\n-[13695](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c30 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.26.llvm.9526575686914974875\n-[13696](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_heap_commit__\n-[13697](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000937f anon.a6a9d96e94134c7f8942c31c082ec88f.30.llvm.15558594833912929062\n-[13698](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685a8 Sleep\n-[13699](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14b0 WSAGetLastError\n-[13700](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000280 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.14.llvm.11878318536325309687\n-[13701](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027048 .refptr.__rust_no_alloc_shim_is_unstable\n-[13702](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b8 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.27.llvm.11878318536325309687\n-[13703](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003a0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.45.llvm.5413364227057093393\n-[13704](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 __imp_connect\n-[13705](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001772 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.19.llvm.11601850474718555977\n-[13706](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 _ZN3std3sys5alloc7windows4HEAP17h379d1b3b22a87481E\n-[13707](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_anon.74fdae6415b638aa25041aa4487a05ae.2.llvm.16272800707749704641\n-[13708](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000458 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.110.llvm.5413364227057093393\n-[13709](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f8 __imp_RtlVirtualUnwind\n-[13710](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a5a anon.1191e1e0e30864bbfca263014384cde2.83.llvm.6926716171404039897\n-[13711](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __xc_a\n-[13712](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001820 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.25.llvm.11601850474718555977\n-[13713](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1530 _Unwind_GetLanguageSpecificData\n-[13714](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp__ZN3std3sys5alloc7windows4HEAP17h379d1b3b22a87481E\n-[13715](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __RUNTIME_PSEUDO_RELOC_LIST__\n-[13716](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002196b anon.c2de6cb4ec0390263cdfd140df216a50.47.llvm.12307589555557943707\n-[13717](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp__amsg_exit\n-[13718](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_SetWaitableTimer\n-[13719](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686e0 GetProcAddress\n-[13720](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_memcpy\n-[13721](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005433 anon.d6527d4515cb88f97b880ef9d8324e35.27.llvm.7969141108083497962\n-[13722](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d8 __imp__ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17h263c7061702463a3E.0.llvm.5413364227057093393\n-[13723](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006c58 anon.613c2815b58d0fe89e530fd715781380.18.llvm.8111713219908570339\n-[13724](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000fa0 anon.334eed3927282b5a277288f09f1debb7.65.llvm.2001445131880281990\n-[13725](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009275 anon.a6a9d96e94134c7f8942c31c082ec88f.11.llvm.15558594833912929062\n-[13726](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_CreateSymbolicLinkW\n-[13727](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068848 CompareStringOrdinal\n-[13728](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c08 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.21.llvm.9526575686914974875\n-[13729](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1700 memmove\n-[13730](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000530 __imp_anon.bde97222c13a73c1114c64f571df7937.3.llvm.16760335183301466238\n-[13731](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000518 __imp_anon.bde97222c13a73c1114c64f571df7937.0.llvm.16760335183301466238\n-[13732](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687f8 CreateSymbolicLinkW\n-[13733](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_GetFileInformationByHandle\n-[13734](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_size\n-[13735](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022378 anon.02976793a46813507f59616fd1c9275e.30.llvm.16726422113796030662\n-[13736](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068590 TerminateProcess\n-[13737](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003888 anon.14e8aa8ff63fa88c8acdb0adf657021d.32.llvm.5413364227057093393\n-[13738](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000190 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.5.llvm.15379776895320610564\n-[13739](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24d8 strncmp\n-[13740](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14a8 WSARecv\n-[13741](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.3.llvm.12307589555557943707\n-[13742](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000348 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.26.llvm.5413364227057093393\n-[13743](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_FreeEnvironmentStringsW\n-[13744](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14f0 WaitOnAddress\n-[13745](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000388 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.38.llvm.5413364227057093393\n-[13746](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007778 anon.4e490f9e57c31783abc71684d8dd07fd.18.llvm.10362654779312666465\n-[13747](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_MoveFileExW\n-[13748](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b38 anon.125b845408d80ffb3be797922b5dde7d.10.llvm.15618036608475994017\n-[13749](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b28 anon.613c2815b58d0fe89e530fd715781380.8.llvm.8111713219908570339\n-[13750](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_anon.613c2815b58d0fe89e530fd715781380.88.llvm.8111713219908570339\n-[13751](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027000 .refptr.__mingw_app_type\n-[13752](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017ec0 anon.548af9b593bb376764255d41b66dd9ad.13.llvm.18313050272482191136\n-[13753](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1430 recv\n-[13754](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000094bc anon.a6a9d96e94134c7f8942c31c082ec88f.41.llvm.15558594833912929062\n-[13755](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e8 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.109.llvm.11878318536325309687\n-[13756](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca0 __imp__execute_onexit_table\n-[13757](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002208 anon.faa17738fd60f01f36928133f6f2e7da.1.llvm.7372912216135829142\n-[13758](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_TlsGetValue\n-[13759](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003510 anon.14e8aa8ff63fa88c8acdb0adf657021d.0.llvm.5413364227057093393\n-[13760](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687d8 DeleteFileW\n-[13761](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_WaitOnAddress\n-[13762](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_GetCommandLineW\n-[13763](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1548 _Unwind_DeleteException\n-[13764](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000073b8 anon.613c2815b58d0fe89e530fd715781380.116.llvm.8111713219908570339\n-[13765](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068758 GetCurrentThread\n-[13766](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb0 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.57.llvm.12307589555557943707\n-[13767](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_InitOnceBeginInitialize\n-[13768](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca8 __imp__register_onexit_function\n-[13769](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000580 __imp_anon.bde97222c13a73c1114c64f571df7937.57.llvm.16760335183301466238\n-[13770](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f70 anon.334eed3927282b5a277288f09f1debb7.62.llvm.2001445131880281990\n-[13771](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068578 TlsGetValue\n-[13772](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f0 __imp_anon.125b845408d80ffb3be797922b5dde7d.3.llvm.15618036608475994017\n-[13773](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000590 __imp_anon.bde97222c13a73c1114c64f571df7937.58.llvm.16760335183301466238\n-[13774](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 _ZN3std6thread7Builder16spawn_unchecked_28_$u7b$$u7b$closure$u7d$$u7d$3MIN17hf04a1cb9d6d18440E\n-[13775](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c16c0 _amsg_exit\n-[13776](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005d8 __imp_anon.613c2815b58d0fe89e530fd715781380.5.llvm.8111713219908570339\n-[13777](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005f80 anon.b856ed75cf5d248ad8ab7df55ef82720.4.llvm.17494912285420036471\n-[13778](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685a0 SleepEx\n-[13779](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004158 anon.14e8aa8ff63fa88c8acdb0adf657021d.101.llvm.5413364227057093393\n-[13780](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a28 anon.613c2815b58d0fe89e530fd715781380.0.llvm.8111713219908570339\n-[13781](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002293d _ZN4core7unicode12unicode_data9lowercase19BITSET_INDEX_CHUNKS17h2e08ae49a32f2378E\n-[13782](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_GetEnvironmentVariableW\n-[13783](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016fb8 anon.951936ba3143fced68ee3304997d9e19.17.llvm.17612365085167486372\n-[13784](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092ef anon.a6a9d96e94134c7f8942c31c082ec88f.21.llvm.15558594833912929062\n-[13785](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000064f6 anon.bde97222c13a73c1114c64f571df7937.40.llvm.16760335183301466238\n-[13786](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004218 anon.14e8aa8ff63fa88c8acdb0adf657021d.108.llvm.5413364227057093393\n-[13787](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cd4 __native_dllmain_reason\n-[13788](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006d00 anon.613c2815b58d0fe89e530fd715781380.22.llvm.8111713219908570339\n-[13789](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.3.llvm.15379776895320610564\n-[13790](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.4.llvm.10362654779312666465\n-[13791](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002578 anon.15032dc7f7815da06950c6c7f631ed3a.27.llvm.11878318536325309687\n-[13792](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_SwitchToThread\n-[13793](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_ProcessPrng\n-[13794](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001560 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.1.llvm.11601850474718555977\n-[13795](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000234e0 _ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817hda998ec88a913450E\n-[13796](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.10.llvm.11601850474718555977\n-[13797](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __imp_anon.334eed3927282b5a277288f09f1debb7.58.llvm.2001445131880281990\n-[13798](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068548 WideCharToMultiByte\n-[13799](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_anon.1191e1e0e30864bbfca263014384cde2.46.llvm.6926716171404039897\n-[13800](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a30 __lib64_libmsvcrt_def_a_iname\n-[13801](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_anon.5ab24c04836e7d0e010a75467e6848df.13.llvm.10587846507795593389\n-[13802](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_RtlLookupFunctionEntry\n-[13803](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000016ec anon.ccb22e4cd7fbcbc558a5e5a3f0337848.15.llvm.11601850474718555977\n-[13804](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000820 __imp_GetStdHandle\n-[13805](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.79.llvm.7969141108083497962\n-[13806](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fa8 .refptr._ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h729b602ac07d7771E\n-[13807](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068700 GetModuleFileNameW\n-[13808](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.2.llvm.12965910548521623435\n-[13809](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ed0 anon.334eed3927282b5a277288f09f1debb7.57.llvm.2001445131880281990\n-[13810](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.9.llvm.15558594833912929062\n-[13811](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp__ZN5alloc4sync18STATIC_INNER_SLICE17h86346c68f5ec9998E\n-[13812](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686f0 GetModuleHandleW\n-[13813](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686f8 GetModuleHandleA\n-[13814](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687d0 DeleteProcThreadAttributeList\n-[13815](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_RemoveDirectoryW\n-[13816](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c60 __imp__ZN4core7unicode12unicode_data15grapheme_extend7OFFSETS17h864beb6b3986fc3dE.llvm.16023864972203878572\n-[13817](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp_anon.125b845408d80ffb3be797922b5dde7d.2.llvm.15618036608475994017\n-[13818](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000038b8 anon.14e8aa8ff63fa88c8acdb0adf657021d.34.llvm.5413364227057093393\n-[13819](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_anon.951936ba3143fced68ee3304997d9e19.17.llvm.17612365085167486372\n-[13820](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002220 anon.faa17738fd60f01f36928133f6f2e7da.2.llvm.7372912216135829142\n-[13821](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e0 __imp_anon.613c2815b58d0fe89e530fd715781380.8.llvm.8111713219908570339\n-[13822](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027050 .refptr.__xc_a\n-[13823](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000520 __imp_anon.bde97222c13a73c1114c64f571df7937.1.llvm.16760335183301466238\n-[13824](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000021c8 anon.faa17738fd60f01f36928133f6f2e7da.0.llvm.7372912216135829142\n-[13825](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000041f8 anon.14e8aa8ff63fa88c8acdb0adf657021d.107.llvm.5413364227057093393\n-[13826](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_anon.5ab24c04836e7d0e010a75467e6848df.14.llvm.10587846507795593389\n-[13827](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c70 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.0.llvm.14459211374459367874\n-[13828](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fc0 .refptr.__ImageBase\n-[13829](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005448 anon.d6527d4515cb88f97b880ef9d8324e35.28.llvm.7969141108083497962\n-[13830](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068858 CancelIo\n-[13831](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068640 QueryPerformanceCounter\n-[13832](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14e8 WakeByAddressAll\n-[13833](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009698 anon.a6a9d96e94134c7f8942c31c082ec88f.61.llvm.15558594833912929062\n-[13834](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_QueryPerformanceCounter\n-[13835](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.9.llvm.10362654779312666465\n-[13836](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.52.llvm.15558594833912929062\n-[13837](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003f8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.96.llvm.5413364227057093393\n-[13838](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e8 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.81.llvm.7969141108083497962\n-[13839](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066d8 anon.bde97222c13a73c1114c64f571df7937.58.llvm.16760335183301466238\n-[13840](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13d4 NtWriteFile\n-[13841](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009281 anon.a6a9d96e94134c7f8942c31c082ec88f.12.llvm.15558594833912929062\n-[13842](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092c6 anon.a6a9d96e94134c7f8942c31c082ec88f.18.llvm.15558594833912929062\n-[13843](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp__lock\n-[13844](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007528 anon.4e490f9e57c31783abc71684d8dd07fd.6.llvm.10362654779312666465\n-[13845](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000500 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.97.llvm.7969141108083497962\n-[13846](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002498 anon.15032dc7f7815da06950c6c7f631ed3a.15.llvm.11878318536325309687\n-[13847](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.40.llvm.10362654779312666465\n-[13848](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b8 anon.cf682d2739cc67cde0d187baeb967659.12.llvm.1023057999724376019\n-[13849](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009329 anon.a6a9d96e94134c7f8942c31c082ec88f.25.llvm.15558594833912929062\n-[13850](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068750 GetEnvironmentStringsW\n-[13851](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071e8 anon.613c2815b58d0fe89e530fd715781380.90.llvm.8111713219908570339\n-[13852](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016ca0 anon.5881a944dab48172ce9ab4c31fb42b0d.18.llvm.2141283131302511399\n-[13853](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_getsockopt\n-[13854](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000716e anon.613c2815b58d0fe89e530fd715781380.86.llvm.8111713219908570339\n-[13855](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068820 CreateFileW\n-[13856](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1550 _GCC_specific_handler\n-[13857](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004226 anon.14e8aa8ff63fa88c8acdb0adf657021d.111.llvm.5413364227057093393\n-[13858](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_anon.613c2815b58d0fe89e530fd715781380.114.llvm.8111713219908570339\n-[13859](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_GetEnvironmentStringsW\n-[13860](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006d10 anon.613c2815b58d0fe89e530fd715781380.23.llvm.8111713219908570339\n-[13861](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2508 EnterCriticalSection\n-[13862](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_anon.70a734ceb075a3f77ae0022f3903a47c.2.llvm.1562060106219418788\n-[13863](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a828 anon.ca9c0bd954bf21a00ff37d225387af39.19.llvm.15540661059315109834\n-[13864](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_CreateProcessW\n-[13865](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c8 __imp_anon.1191e1e0e30864bbfca263014384cde2.80.llvm.6926716171404039897\n-[13866](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_anon.951936ba3143fced68ee3304997d9e19.16.llvm.17612365085167486372\n-[13867](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 _ZN3std6thread7current2id2ID17he830af7f640692c2E.llvm.16760335183301466238\n-[13868](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24e0 vfprintf\n-[13869](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026080 anon.68adf46199d381a3e7579e3039a486b2.33.llvm.16023864972203878572\n-[13870](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068828 CreateFileMappingA\n-[13871](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000086cf anon.1191e1e0e30864bbfca263014384cde2.45.llvm.6926716171404039897\n-[13872](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026de0 _tls_used\n-[13873](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c00 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.1.llvm.9526575686914974875\n-[13874](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_DeleteFileW\n-[13875](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000550 __imp_anon.bde97222c13a73c1114c64f571df7937.40.llvm.16760335183301466238\n-[13876](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_shutdown\n-[13877](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026640 anon.3f0cf08f2a28531d822fb6666d6454ce.2.llvm.14459211374459367874\n-[13878](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_anon.613c2815b58d0fe89e530fd715781380.91.llvm.8111713219908570339\n-[13879](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 __native_startup_lock\n-[13880](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 __imp_anon.334eed3927282b5a277288f09f1debb7.62.llvm.2001445131880281990\n-[13881](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __RUNTIME_PSEUDO_RELOC_LIST_END__\n-[13882](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_anon.1191e1e0e30864bbfca263014384cde2.83.llvm.6926716171404039897\n-[13883](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000378 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.36.llvm.5413364227057093393\n-[13884](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004e20 anon.d09efb1a21878a6327720f5f05032caf.6.llvm.4759734605172953274\n-[13885](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 __xc_z\n-[13886](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_GetFileInformationByHandleEx\n-[13887](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.31.llvm.15379776895320610564\n-[13888](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068668 MapViewOfFile\n-[13889](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_anon.1191e1e0e30864bbfca263014384cde2.82.llvm.6926716171404039897\n-[13890](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000177f0 _ZN4core7unicode12unicode_data9uppercase17BITSET_CHUNKS_MAP17hf89eb258c5a598c7E\n-[13891](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b30 __imp_listen\n-[13892](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.0.llvm.10362654779312666465\n-[13893](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___tls_end__\n-[13894](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp__Unwind_Resume\n-[13895](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003910 anon.14e8aa8ff63fa88c8acdb0adf657021d.35.llvm.5413364227057093393\n-[13896](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_GetSystemTimePreciseAsFileTime\n-[13897](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092ad anon.a6a9d96e94134c7f8942c31c082ec88f.16.llvm.15558594833912929062\n-[13898](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_start__\n-[13899](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp__GCC_specific_handler\n-[13900](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a78 anon.1191e1e0e30864bbfca263014384cde2.84.llvm.6926716171404039897\n-[13901](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017bb0 anon.548af9b593bb376764255d41b66dd9ad.1.llvm.18313050272482191136\n-[13902](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000340 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.4.llvm.5413364227057093393\n-[13903](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b08 __imp_anon.548af9b593bb376764255d41b66dd9ad.12.llvm.18313050272482191136\n-[13904](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068550 WaitForSingleObject\n-[13905](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007540 anon.4e490f9e57c31783abc71684d8dd07fd.7.llvm.10362654779312666465\n-[13906](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068620 ReadFileEx\n-[13907](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.22.llvm.15379776895320610564\n-[13908](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c18 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.23.llvm.9526575686914974875\n-[13909](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026670 anon.3f0cf08f2a28531d822fb6666d6454ce.4.llvm.14459211374459367874\n-[13910](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002197a anon.c2de6cb4ec0390263cdfd140df216a50.54.llvm.12307589555557943707\n-[13911](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_WSACleanup\n-[13912](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.9.llvm.11601850474718555977\n-[13913](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1450 getsockname\n-[13914](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_anon.1191e1e0e30864bbfca263014384cde2.40.llvm.6926716171404039897\n-[13915](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027060 .refptr.__xc_z\n-[13916](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685e8 SetFileAttributesW\n-[13917](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.8.llvm.15558594833912929062\n-[13918](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000169d anon.ccb22e4cd7fbcbc558a5e5a3f0337848.12.llvm.11601850474718555977\n-[13919](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017d0 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.22.llvm.11601850474718555977\n-[13920](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp__ZN10std_detect6detect5cache5CACHE17he29bf3f9a9147b5cE\n-[13921](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_WaitForSingleObject\n-[13922](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.19.llvm.15379776895320610564\n-[13923](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000962a anon.a6a9d96e94134c7f8942c31c082ec88f.57.llvm.15558594833912929062\n-[13924](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __xl_z\n-[13925](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_TlsAlloc\n-[13926](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a5c __lib64_libuserenv_a_iname\n-[13927](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000171d0 _ZN4core3fmt3num14DEC_DIGITS_LUT17h3147423d6587639fE\n-[13928](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp_anon.74fdae6415b638aa25041aa4487a05ae.4.llvm.16272800707749704641\n-[13929](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e8 __imp_anon.613c2815b58d0fe89e530fd715781380.9.llvm.8111713219908570339\n-[13930](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a23 anon.1191e1e0e30864bbfca263014384cde2.82.llvm.6926716171404039897\n-[13931](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.49.llvm.15558594833912929062\n-[13932](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005a8 __imp__ZN3std6thread7current2id2ID17he830af7f640692c2E.llvm.16760335183301466238\n-[13933](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.36.llvm.10362654779312666465\n-[13934](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __xl_c\n-[13935](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000358 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.32.llvm.5413364227057093393\n-[13936](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb0 __imp__initialize_onexit_table\n-[13937](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.47.llvm.12307589555557943707\n-[13938](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009360 anon.a6a9d96e94134c7f8942c31c082ec88f.29.llvm.15558594833912929062\n-[13939](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_abort\n-[13940](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __xl_d\n-[13941](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14b8 WSADuplicateSocketW\n-[13942](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd0 __imp_anon.02976793a46813507f59616fd1c9275e.31.llvm.16726422113796030662\n-[13943](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002080 anon.471be997f5a6e6d1ae4ad33025e9150f.29.llvm.15379776895320610564\n-[13944](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e18 anon.471be997f5a6e6d1ae4ad33025e9150f.6.llvm.15379776895320610564\n-[13945](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021988 anon.c2de6cb4ec0390263cdfd140df216a50.58.llvm.12307589555557943707\n-[13946](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 __imp_anon.cf682d2739cc67cde0d187baeb967659.2.llvm.1023057999724376019\n-[13947](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001b04 libgcc_s_seh_1_dll_iname\n-[13948](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017106 anon.70a734ceb075a3f77ae0022f3903a47c.5.llvm.1562060106219418788\n-[13949](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 anon.cf682d2739cc67cde0d187baeb967659.4.llvm.1023057999724376019\n-[13950](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_WideCharToMultiByte\n-[13951](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2548 ___DTOR_LIST__\n-[13952](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1480 bind\n-[13953](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022fbf anon.bee77dec0f40919064a7130a9cb9a3c8.26.llvm.9526575686914974875\n-[13954](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.10.llvm.15558594833912929062\n-[13955](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f00 anon.613c2815b58d0fe89e530fd715781380.50.llvm.8111713219908570339\n-[13956](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000630 __imp_anon.613c2815b58d0fe89e530fd715781380.62.llvm.8111713219908570339\n-[13957](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007648 anon.4e490f9e57c31783abc71684d8dd07fd.9.llvm.10362654779312666465\n-[13958](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000680 __imp_anon.613c2815b58d0fe89e530fd715781380.112.llvm.8111713219908570339\n-[13959](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __xl_a\n-[13960](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000219b0 anon.c2de6cb4ec0390263cdfd140df216a50.61.llvm.12307589555557943707\n-[13961](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.61.llvm.15558594833912929062\n-[13962](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d8 __native_startup_state\n-[13963](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068628 ReadFile\n-[13964](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015a38 anon.125b845408d80ffb3be797922b5dde7d.2.llvm.15618036608475994017\n-[13965](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.18.llvm.15558594833912929062\n-[13966](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.39.llvm.11878318536325309687\n+[13552](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000920 __imp_SetFilePointerEx\n+[13553](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.13.llvm.11601850474718555977\n+[13554](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000187a anon.ccb22e4cd7fbcbc558a5e5a3f0337848.36.llvm.11601850474718555977\n+[13555](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001c8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.21.llvm.15379776895320610564\n+[13556](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd8 __IAT_end__\n+[13557](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017608 anon.2d23cbceb7e4b258e81d2b77fc160d81.3.llvm.12965910548521623435\n+[13558](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_anon.df907a58630ce218ee9088e2e7c01296.5.llvm.3107137444050650198\n+[13559](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f03 anon.613c2815b58d0fe89e530fd715781380.52.llvm.8111713219908570339\n+[13560](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068860 AddVectoredExceptionHandler\n+[13561](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_setsockopt\n+[13562](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685d0 SetFileTime\n+[13563](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009297 anon.a6a9d96e94134c7f8942c31c082ec88f.14.llvm.15558594833912929062\n+[13564](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_CreateNamedPipeW\n+[13565](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_WSADuplicateSocketW\n+[13566](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000018420 _ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha5d0c39293d82f99E\n+[13567](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_GetTempPathW\n+[13568](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685f8 SetCurrentDirectoryW\n+[13569](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000510 __imp_anon.b856ed75cf5d248ad8ab7df55ef82720.4.llvm.17494912285420036471\n+[13570](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.20.llvm.15558594833912929062\n+[13571](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026f80 .refptr._CRT_MT\n+[13572](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a00 __imp_anon.125b845408d80ffb3be797922b5dde7d.10.llvm.15618036608475994017\n+[13573](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006530 anon.bde97222c13a73c1114c64f571df7937.42.llvm.16760335183301466238\n+[13574](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13dc NtReadFile\n+[13575](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a0 __imp_Module32NextW\n+[13576](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000170d0 anon.70a734ceb075a3f77ae0022f3903a47c.0.llvm.1562060106219418788\n+[13577](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068690 HeapFree\n+[13578](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000408 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.98.llvm.5413364227057093393\n+[13579](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f8 __imp_anon.faa17738fd60f01f36928133f6f2e7da.1.llvm.7372912216135829142\n+[13580](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c40 __imp_anon.68adf46199d381a3e7579e3039a486b2.33.llvm.16023864972203878572\n+[13581](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068630 ReadConsoleW\n+[13582](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_recvfrom\n+[13583](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000290 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.16.llvm.11878318536325309687\n+[13584](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685e0 SetFileInformationByHandle\n+[13585](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 ___RUNTIME_PSEUDO_RELOC_LIST_END__\n+[13586](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092a2 anon.a6a9d96e94134c7f8942c31c082ec88f.15.llvm.15558594833912929062\n+[13587](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba0 __imp__Unwind_GetRegionStart\n+[13588](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001640 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.9.llvm.11601850474718555977\n+[13589](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007888 anon.4e490f9e57c31783abc71684d8dd07fd.26.llvm.10362654779312666465\n+[13590](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009548 anon.a6a9d96e94134c7f8942c31c082ec88f.46.llvm.15558594833912929062\n+[13591](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000688 __imp_CloseHandle\n+[13592](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005218 anon.d6527d4515cb88f97b880ef9d8324e35.6.llvm.7969141108083497962\n+[13593](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.8.llvm.11601850474718555977\n+[13594](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a0 __imp_anon.d09efb1a21878a6327720f5f05032caf.5.llvm.4759734605172953274\n+[13595](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000350 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.31.llvm.5413364227057093393\n+[13596](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_SetHandleInformation\n+[13597](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_TlsFree\n+[13598](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.2.llvm.12307589555557943707\n+[13599](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp_bind\n+[13600](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000174cd anon.df907a58630ce218ee9088e2e7c01296.5.llvm.3107137444050650198\n+[13601](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_InitializeProcThreadAttributeList\n+[13602](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000380 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.37.llvm.5413364227057093393\n+[13603](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_send\n+[13604](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a70 anon.14e8aa8ff63fa88c8acdb0adf657021d.45.llvm.5413364227057093393\n+[13605](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000410 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.99.llvm.5413364227057093393\n+[13606](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003a8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.56.llvm.5413364227057093393\n+[13607](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686b0 GetSystemTimePreciseAsFileTime\n+[13608](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_SetLastError\n+[13609](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092fe anon.a6a9d96e94134c7f8942c31c082ec88f.22.llvm.15558594833912929062\n+[13610](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c8 __imp_anon.ca9c0bd954bf21a00ff37d225387af39.22.llvm.15540661059315109834\n+[13611](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004170 anon.14e8aa8ff63fa88c8acdb0adf657021d.102.llvm.5413364227057093393\n+[13612](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xc_start__\n+[13613](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068810 CreateNamedPipeW\n+[13614](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.36.llvm.11601850474718555977\n+[13615](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.0.llvm.12965910548521623435\n+[13616](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.46.llvm.15558594833912929062\n+[13617](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_recv\n+[13618](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000076c0 anon.4e490f9e57c31783abc71684d8dd07fd.11.llvm.10362654779312666465\n+[13619](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005900 anon.d6527d4515cb88f97b880ef9d8324e35.82.llvm.7969141108083497962\n+[13620](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 __imp_anon.334eed3927282b5a277288f09f1debb7.59.llvm.2001445131880281990\n+[13621](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_CompareStringOrdinal\n+[13622](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000191 __rust_no_alloc_shim_is_unstable\n+[13623](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_anon.548af9b593bb376764255d41b66dd9ad.0.llvm.18313050272482191136\n+[13624](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000430 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.103.llvm.5413364227057093393\n+[13625](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000420 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.101.llvm.5413364227057093393\n+[13626](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1508 _Unwind_SetGR\n+[13627](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __mingw_module_is_dll\n+[13628](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009345 anon.a6a9d96e94134c7f8942c31c082ec88f.27.llvm.15558594833912929062\n+[13629](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068718 GetFinalPathNameByHandleW\n+[13630](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000118 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.20.llvm.11601850474718555977\n+[13631](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fb0 .refptr.__CTOR_LIST__\n+[13632](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001798 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.20.llvm.11601850474718555977\n+[13633](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000998 __imp_UpdateProcThreadAttribute\n+[13634](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068780 GetCommandLineW\n+[13635](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_WSASend\n+[13636](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000924d anon.a6a9d96e94134c7f8942c31c082ec88f.8.llvm.15558594833912929062\n+[13637](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.4.llvm.12965910548521623435\n+[13638](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.12.llvm.10362654779312666465\n+[13639](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004f0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.82.llvm.7969141108083497962\n+[13640](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.51.llvm.15558594833912929062\n+[13641](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_DuplicateHandle\n+[13642](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008e60 anon.1191e1e0e30864bbfca263014384cde2.150.llvm.6926716171404039897\n+[13643](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 anon.cf682d2739cc67cde0d187baeb967659.2.llvm.1023057999724376019\n+[13644](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp_anon.125b845408d80ffb3be797922b5dde7d.8.llvm.15618036608475994017\n+[13645](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d8 __imp_anon.74fdae6415b638aa25041aa4487a05ae.3.llvm.16272800707749704641\n+[13646](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006560 anon.bde97222c13a73c1114c64f571df7937.44.llvm.16760335183301466238\n+[13647](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp___rust_no_alloc_shim_is_unstable\n+[13648](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260b8 anon.68adf46199d381a3e7579e3039a486b2.35.llvm.16023864972203878572\n+[13649](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000968 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.62.llvm.15558594833912929062\n+[13650](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068800 CreateProcessW\n+[13651](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040d8 anon.14e8aa8ff63fa88c8acdb0adf657021d.97.llvm.5413364227057093393\n+[13652](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.6.llvm.7969141108083497962\n+[13653](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.89.llvm.5413364227057093393\n+[13654](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000398 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.44.llvm.5413364227057093393\n+[13655](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp__ZN4core7unicode12unicode_data9uppercase14BITSET_MAPPING17h12a372c11dd8d387E\n+[13656](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000016bd anon.ccb22e4cd7fbcbc558a5e5a3f0337848.13.llvm.11601850474718555977\n+[13657](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.30.llvm.15379776895320610564\n+[13658](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_DeleteCriticalSection\n+[13659](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092d5 anon.a6a9d96e94134c7f8942c31c082ec88f.19.llvm.15558594833912929062\n+[13660](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000096c8 anon.a6a9d96e94134c7f8942c31c082ec88f.63.llvm.15558594833912929062\n+[13661](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003b0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.57.llvm.5413364227057093393\n+[13662](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000004 __major_os_version__\n+[13663](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000538 __imp_anon.bde97222c13a73c1114c64f571df7937.6.llvm.16760335183301466238\n+[13664](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1478 closesocket\n+[13665](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp__ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n+[13666](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_GetFullPathNameW\n+[13667](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __imp_anon.cf682d2739cc67cde0d187baeb967659.11.llvm.1023057999724376019\n+[13668](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_anon.125b845408d80ffb3be797922b5dde7d.11.llvm.15618036608475994017\n+[13669](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_sendto\n+[13670](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1708 memset\n+[13671](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a0 __imp_anon.613c2815b58d0fe89e530fd715781380.116.llvm.8111713219908570339\n+[13672](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686d0 GetProcessId\n+[13673](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 _ZN3std3sys9backtrace4lock4LOCK17h82dca2cab18674fbE.llvm.16760335183301466238\n+[13674](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000930d anon.a6a9d96e94134c7f8942c31c082ec88f.23.llvm.15558594833912929062\n+[13675](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e0 __mingw_initltssuo_force\n+[13676](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001878 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.35.llvm.11601850474718555977\n+[13677](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000089d8 anon.1191e1e0e30864bbfca263014384cde2.79.llvm.6926716171404039897\n+[13678](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b60 anon.14e8aa8ff63fa88c8acdb0adf657021d.57.llvm.5413364227057093393\n+[13679](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp__Unwind_GetLanguageSpecificData\n+[13680](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14c0 WSACleanup\n+[13681](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003ff0 anon.14e8aa8ff63fa88c8acdb0adf657021d.89.llvm.5413364227057093393\n+[13682](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006ac8 anon.613c2815b58d0fe89e530fd715781380.5.llvm.8111713219908570339\n+[13683](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000300 __imp__ZN3std4sync4mpmc7context7Context4with7CONTEXT28_$u7b$$u7b$closure$u7d$$u7d$3VAL17hc03d2558d93158e8E\n+[13684](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1538 _Unwind_GetIPInfo\n+[13685](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp_calloc\n+[13686](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1428 recvfrom\n+[13687](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a10 anon.14e8aa8ff63fa88c8acdb0adf657021d.43.llvm.5413364227057093393\n+[13688](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013440 anon.74fdae6415b638aa25041aa4487a05ae.2.llvm.16272800707749704641\n+[13689](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_GetFinalPathNameByHandleW\n+[13690](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_anon.548af9b593bb376764255d41b66dd9ad.15.llvm.18313050272482191136\n+[13691](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f0 __imp_anon.faa17738fd60f01f36928133f6f2e7da.0.llvm.7372912216135829142\n+[13692](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004068 anon.14e8aa8ff63fa88c8acdb0adf657021d.94.llvm.5413364227057093393\n+[13693](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __loader_flags__\n+[13694](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c30 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.26.llvm.9526575686914974875\n+[13695](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_heap_commit__\n+[13696](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000937f anon.a6a9d96e94134c7f8942c31c082ec88f.30.llvm.15558594833912929062\n+[13697](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685a8 Sleep\n+[13698](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14b0 WSAGetLastError\n+[13699](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000280 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.14.llvm.11878318536325309687\n+[13700](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027048 .refptr.__rust_no_alloc_shim_is_unstable\n+[13701](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b8 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.27.llvm.11878318536325309687\n+[13702](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003a0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.45.llvm.5413364227057093393\n+[13703](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 __imp_connect\n+[13704](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001772 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.19.llvm.11601850474718555977\n+[13705](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 _ZN3std3sys5alloc7windows4HEAP17h379d1b3b22a87481E\n+[13706](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_anon.74fdae6415b638aa25041aa4487a05ae.2.llvm.16272800707749704641\n+[13707](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000458 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.110.llvm.5413364227057093393\n+[13708](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f8 __imp_RtlVirtualUnwind\n+[13709](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a5a anon.1191e1e0e30864bbfca263014384cde2.83.llvm.6926716171404039897\n+[13710](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __xc_a\n+[13711](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001820 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.25.llvm.11601850474718555977\n+[13712](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1530 _Unwind_GetLanguageSpecificData\n+[13713](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp__ZN3std3sys5alloc7windows4HEAP17h379d1b3b22a87481E\n+[13714](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __RUNTIME_PSEUDO_RELOC_LIST__\n+[13715](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002196b anon.c2de6cb4ec0390263cdfd140df216a50.47.llvm.12307589555557943707\n+[13716](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp__amsg_exit\n+[13717](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_SetWaitableTimer\n+[13718](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686e0 GetProcAddress\n+[13719](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_memcpy\n+[13720](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005433 anon.d6527d4515cb88f97b880ef9d8324e35.27.llvm.7969141108083497962\n+[13721](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d8 __imp__ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17h263c7061702463a3E.0.llvm.5413364227057093393\n+[13722](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006c58 anon.613c2815b58d0fe89e530fd715781380.18.llvm.8111713219908570339\n+[13723](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000fa0 anon.334eed3927282b5a277288f09f1debb7.65.llvm.2001445131880281990\n+[13724](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009275 anon.a6a9d96e94134c7f8942c31c082ec88f.11.llvm.15558594833912929062\n+[13725](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_CreateSymbolicLinkW\n+[13726](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068848 CompareStringOrdinal\n+[13727](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c08 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.21.llvm.9526575686914974875\n+[13728](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1700 memmove\n+[13729](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000530 __imp_anon.bde97222c13a73c1114c64f571df7937.3.llvm.16760335183301466238\n+[13730](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000518 __imp_anon.bde97222c13a73c1114c64f571df7937.0.llvm.16760335183301466238\n+[13731](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687f8 CreateSymbolicLinkW\n+[13732](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_GetFileInformationByHandle\n+[13733](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_size\n+[13734](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022378 anon.02976793a46813507f59616fd1c9275e.30.llvm.16726422113796030662\n+[13735](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068590 TerminateProcess\n+[13736](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003888 anon.14e8aa8ff63fa88c8acdb0adf657021d.32.llvm.5413364227057093393\n+[13737](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000190 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.5.llvm.15379776895320610564\n+[13738](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24d8 strncmp\n+[13739](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14a8 WSARecv\n+[13740](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.3.llvm.12307589555557943707\n+[13741](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000348 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.26.llvm.5413364227057093393\n+[13742](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_FreeEnvironmentStringsW\n+[13743](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14f0 WaitOnAddress\n+[13744](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000388 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.38.llvm.5413364227057093393\n+[13745](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007778 anon.4e490f9e57c31783abc71684d8dd07fd.18.llvm.10362654779312666465\n+[13746](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_MoveFileExW\n+[13747](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b38 anon.125b845408d80ffb3be797922b5dde7d.10.llvm.15618036608475994017\n+[13748](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b28 anon.613c2815b58d0fe89e530fd715781380.8.llvm.8111713219908570339\n+[13749](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_anon.613c2815b58d0fe89e530fd715781380.88.llvm.8111713219908570339\n+[13750](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027000 .refptr.__mingw_app_type\n+[13751](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017ec0 anon.548af9b593bb376764255d41b66dd9ad.13.llvm.18313050272482191136\n+[13752](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1430 recv\n+[13753](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000094bc anon.a6a9d96e94134c7f8942c31c082ec88f.41.llvm.15558594833912929062\n+[13754](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e8 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.109.llvm.11878318536325309687\n+[13755](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca0 __imp__execute_onexit_table\n+[13756](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002208 anon.faa17738fd60f01f36928133f6f2e7da.1.llvm.7372912216135829142\n+[13757](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_TlsGetValue\n+[13758](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003510 anon.14e8aa8ff63fa88c8acdb0adf657021d.0.llvm.5413364227057093393\n+[13759](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687d8 DeleteFileW\n+[13760](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_WaitOnAddress\n+[13761](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_GetCommandLineW\n+[13762](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1548 _Unwind_DeleteException\n+[13763](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000073b8 anon.613c2815b58d0fe89e530fd715781380.116.llvm.8111713219908570339\n+[13764](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068758 GetCurrentThread\n+[13765](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb0 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.57.llvm.12307589555557943707\n+[13766](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_InitOnceBeginInitialize\n+[13767](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca8 __imp__register_onexit_function\n+[13768](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000580 __imp_anon.bde97222c13a73c1114c64f571df7937.57.llvm.16760335183301466238\n+[13769](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f70 anon.334eed3927282b5a277288f09f1debb7.62.llvm.2001445131880281990\n+[13770](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068578 TlsGetValue\n+[13771](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f0 __imp_anon.125b845408d80ffb3be797922b5dde7d.3.llvm.15618036608475994017\n+[13772](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000590 __imp_anon.bde97222c13a73c1114c64f571df7937.58.llvm.16760335183301466238\n+[13773](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 _ZN3std6thread7Builder16spawn_unchecked_28_$u7b$$u7b$closure$u7d$$u7d$3MIN17hf04a1cb9d6d18440E\n+[13774](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c16c0 _amsg_exit\n+[13775](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005d8 __imp_anon.613c2815b58d0fe89e530fd715781380.5.llvm.8111713219908570339\n+[13776](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005f80 anon.b856ed75cf5d248ad8ab7df55ef82720.4.llvm.17494912285420036471\n+[13777](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685a0 SleepEx\n+[13778](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004158 anon.14e8aa8ff63fa88c8acdb0adf657021d.101.llvm.5413364227057093393\n+[13779](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a28 anon.613c2815b58d0fe89e530fd715781380.0.llvm.8111713219908570339\n+[13780](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002293d _ZN4core7unicode12unicode_data9lowercase19BITSET_INDEX_CHUNKS17h2e08ae49a32f2378E\n+[13781](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_GetEnvironmentVariableW\n+[13782](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016fb8 anon.951936ba3143fced68ee3304997d9e19.17.llvm.17612365085167486372\n+[13783](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092ef anon.a6a9d96e94134c7f8942c31c082ec88f.21.llvm.15558594833912929062\n+[13784](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000064f6 anon.bde97222c13a73c1114c64f571df7937.40.llvm.16760335183301466238\n+[13785](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004218 anon.14e8aa8ff63fa88c8acdb0adf657021d.108.llvm.5413364227057093393\n+[13786](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cd4 __native_dllmain_reason\n+[13787](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006d00 anon.613c2815b58d0fe89e530fd715781380.22.llvm.8111713219908570339\n+[13788](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.3.llvm.15379776895320610564\n+[13789](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.4.llvm.10362654779312666465\n+[13790](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002578 anon.15032dc7f7815da06950c6c7f631ed3a.27.llvm.11878318536325309687\n+[13791](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_SwitchToThread\n+[13792](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_ProcessPrng\n+[13793](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001560 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.1.llvm.11601850474718555977\n+[13794](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000234e0 _ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817hda998ec88a913450E\n+[13795](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.10.llvm.11601850474718555977\n+[13796](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __imp_anon.334eed3927282b5a277288f09f1debb7.58.llvm.2001445131880281990\n+[13797](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068548 WideCharToMultiByte\n+[13798](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_anon.1191e1e0e30864bbfca263014384cde2.46.llvm.6926716171404039897\n+[13799](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a30 __lib64_libmsvcrt_def_a_iname\n+[13800](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_anon.5ab24c04836e7d0e010a75467e6848df.13.llvm.10587846507795593389\n+[13801](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_RtlLookupFunctionEntry\n+[13802](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000016ec anon.ccb22e4cd7fbcbc558a5e5a3f0337848.15.llvm.11601850474718555977\n+[13803](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000820 __imp_GetStdHandle\n+[13804](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.79.llvm.7969141108083497962\n+[13805](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fa8 .refptr._ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h729b602ac07d7771E\n+[13806](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068700 GetModuleFileNameW\n+[13807](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab8 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.2.llvm.12965910548521623435\n+[13808](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ed0 anon.334eed3927282b5a277288f09f1debb7.57.llvm.2001445131880281990\n+[13809](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.9.llvm.15558594833912929062\n+[13810](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp__ZN5alloc4sync18STATIC_INNER_SLICE17h86346c68f5ec9998E\n+[13811](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686f0 GetModuleHandleW\n+[13812](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686f8 GetModuleHandleA\n+[13813](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687d0 DeleteProcThreadAttributeList\n+[13814](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_RemoveDirectoryW\n+[13815](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c60 __imp__ZN4core7unicode12unicode_data15grapheme_extend7OFFSETS17h864beb6b3986fc3dE.llvm.16023864972203878572\n+[13816](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp_anon.125b845408d80ffb3be797922b5dde7d.2.llvm.15618036608475994017\n+[13817](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000038b8 anon.14e8aa8ff63fa88c8acdb0adf657021d.34.llvm.5413364227057093393\n+[13818](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_anon.951936ba3143fced68ee3304997d9e19.17.llvm.17612365085167486372\n+[13819](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002220 anon.faa17738fd60f01f36928133f6f2e7da.2.llvm.7372912216135829142\n+[13820](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e0 __imp_anon.613c2815b58d0fe89e530fd715781380.8.llvm.8111713219908570339\n+[13821](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027050 .refptr.__xc_a\n+[13822](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000520 __imp_anon.bde97222c13a73c1114c64f571df7937.1.llvm.16760335183301466238\n+[13823](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000021c8 anon.faa17738fd60f01f36928133f6f2e7da.0.llvm.7372912216135829142\n+[13824](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000041f8 anon.14e8aa8ff63fa88c8acdb0adf657021d.107.llvm.5413364227057093393\n+[13825](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_anon.5ab24c04836e7d0e010a75467e6848df.14.llvm.10587846507795593389\n+[13826](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c70 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.0.llvm.14459211374459367874\n+[13827](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fc0 .refptr.__ImageBase\n+[13828](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005448 anon.d6527d4515cb88f97b880ef9d8324e35.28.llvm.7969141108083497962\n+[13829](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068858 CancelIo\n+[13830](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068640 QueryPerformanceCounter\n+[13831](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14e8 WakeByAddressAll\n+[13832](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009698 anon.a6a9d96e94134c7f8942c31c082ec88f.61.llvm.15558594833912929062\n+[13833](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_QueryPerformanceCounter\n+[13834](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.9.llvm.10362654779312666465\n+[13835](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.52.llvm.15558594833912929062\n+[13836](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003f8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.96.llvm.5413364227057093393\n+[13837](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e8 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.81.llvm.7969141108083497962\n+[13838](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066d8 anon.bde97222c13a73c1114c64f571df7937.58.llvm.16760335183301466238\n+[13839](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13d4 NtWriteFile\n+[13840](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009281 anon.a6a9d96e94134c7f8942c31c082ec88f.12.llvm.15558594833912929062\n+[13841](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092c6 anon.a6a9d96e94134c7f8942c31c082ec88f.18.llvm.15558594833912929062\n+[13842](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp__lock\n+[13843](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007528 anon.4e490f9e57c31783abc71684d8dd07fd.6.llvm.10362654779312666465\n+[13844](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000500 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.97.llvm.7969141108083497962\n+[13845](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002498 anon.15032dc7f7815da06950c6c7f631ed3a.15.llvm.11878318536325309687\n+[13846](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.40.llvm.10362654779312666465\n+[13847](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b8 anon.cf682d2739cc67cde0d187baeb967659.12.llvm.1023057999724376019\n+[13848](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009329 anon.a6a9d96e94134c7f8942c31c082ec88f.25.llvm.15558594833912929062\n+[13849](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068750 GetEnvironmentStringsW\n+[13850](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071e8 anon.613c2815b58d0fe89e530fd715781380.90.llvm.8111713219908570339\n+[13851](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016ca0 anon.5881a944dab48172ce9ab4c31fb42b0d.18.llvm.2141283131302511399\n+[13852](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_getsockopt\n+[13853](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000716e anon.613c2815b58d0fe89e530fd715781380.86.llvm.8111713219908570339\n+[13854](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068820 CreateFileW\n+[13855](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1550 _GCC_specific_handler\n+[13856](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004226 anon.14e8aa8ff63fa88c8acdb0adf657021d.111.llvm.5413364227057093393\n+[13857](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_anon.613c2815b58d0fe89e530fd715781380.114.llvm.8111713219908570339\n+[13858](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_GetEnvironmentStringsW\n+[13859](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006d10 anon.613c2815b58d0fe89e530fd715781380.23.llvm.8111713219908570339\n+[13860](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2508 EnterCriticalSection\n+[13861](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_anon.70a734ceb075a3f77ae0022f3903a47c.2.llvm.1562060106219418788\n+[13862](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a828 anon.ca9c0bd954bf21a00ff37d225387af39.19.llvm.15540661059315109834\n+[13863](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_CreateProcessW\n+[13864](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c8 __imp_anon.1191e1e0e30864bbfca263014384cde2.80.llvm.6926716171404039897\n+[13865](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_anon.951936ba3143fced68ee3304997d9e19.16.llvm.17612365085167486372\n+[13866](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 _ZN3std6thread7current2id2ID17he830af7f640692c2E.llvm.16760335183301466238\n+[13867](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24e0 vfprintf\n+[13868](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026080 anon.68adf46199d381a3e7579e3039a486b2.33.llvm.16023864972203878572\n+[13869](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068828 CreateFileMappingA\n+[13870](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000086cf anon.1191e1e0e30864bbfca263014384cde2.45.llvm.6926716171404039897\n+[13871](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026de0 _tls_used\n+[13872](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c00 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.1.llvm.9526575686914974875\n+[13873](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_DeleteFileW\n+[13874](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000550 __imp_anon.bde97222c13a73c1114c64f571df7937.40.llvm.16760335183301466238\n+[13875](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_shutdown\n+[13876](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026640 anon.3f0cf08f2a28531d822fb6666d6454ce.2.llvm.14459211374459367874\n+[13877](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_anon.613c2815b58d0fe89e530fd715781380.91.llvm.8111713219908570339\n+[13878](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 __native_startup_lock\n+[13879](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 __imp_anon.334eed3927282b5a277288f09f1debb7.62.llvm.2001445131880281990\n+[13880](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __RUNTIME_PSEUDO_RELOC_LIST_END__\n+[13881](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_anon.1191e1e0e30864bbfca263014384cde2.83.llvm.6926716171404039897\n+[13882](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000378 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.36.llvm.5413364227057093393\n+[13883](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004e20 anon.d09efb1a21878a6327720f5f05032caf.6.llvm.4759734605172953274\n+[13884](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 __xc_z\n+[13885](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_GetFileInformationByHandleEx\n+[13886](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.31.llvm.15379776895320610564\n+[13887](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068668 MapViewOfFile\n+[13888](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_anon.1191e1e0e30864bbfca263014384cde2.82.llvm.6926716171404039897\n+[13889](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000177f0 _ZN4core7unicode12unicode_data9uppercase17BITSET_CHUNKS_MAP17hf89eb258c5a598c7E\n+[13890](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b30 __imp_listen\n+[13891](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.0.llvm.10362654779312666465\n+[13892](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___tls_end__\n+[13893](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp__Unwind_Resume\n+[13894](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003910 anon.14e8aa8ff63fa88c8acdb0adf657021d.35.llvm.5413364227057093393\n+[13895](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_GetSystemTimePreciseAsFileTime\n+[13896](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092ad anon.a6a9d96e94134c7f8942c31c082ec88f.16.llvm.15558594833912929062\n+[13897](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_start__\n+[13898](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp__GCC_specific_handler\n+[13899](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a78 anon.1191e1e0e30864bbfca263014384cde2.84.llvm.6926716171404039897\n+[13900](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017bb0 anon.548af9b593bb376764255d41b66dd9ad.1.llvm.18313050272482191136\n+[13901](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000340 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.4.llvm.5413364227057093393\n+[13902](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b08 __imp_anon.548af9b593bb376764255d41b66dd9ad.12.llvm.18313050272482191136\n+[13903](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068550 WaitForSingleObject\n+[13904](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007540 anon.4e490f9e57c31783abc71684d8dd07fd.7.llvm.10362654779312666465\n+[13905](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068620 ReadFileEx\n+[13906](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.22.llvm.15379776895320610564\n+[13907](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c18 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.23.llvm.9526575686914974875\n+[13908](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026670 anon.3f0cf08f2a28531d822fb6666d6454ce.4.llvm.14459211374459367874\n+[13909](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002197a anon.c2de6cb4ec0390263cdfd140df216a50.54.llvm.12307589555557943707\n+[13910](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_WSACleanup\n+[13911](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.9.llvm.11601850474718555977\n+[13912](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1450 getsockname\n+[13913](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_anon.1191e1e0e30864bbfca263014384cde2.40.llvm.6926716171404039897\n+[13914](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027060 .refptr.__xc_z\n+[13915](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685e8 SetFileAttributesW\n+[13916](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.8.llvm.15558594833912929062\n+[13917](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000169d anon.ccb22e4cd7fbcbc558a5e5a3f0337848.12.llvm.11601850474718555977\n+[13918](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017d0 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.22.llvm.11601850474718555977\n+[13919](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp__ZN10std_detect6detect5cache5CACHE17he29bf3f9a9147b5cE\n+[13920](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_WaitForSingleObject\n+[13921](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.19.llvm.15379776895320610564\n+[13922](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000962a anon.a6a9d96e94134c7f8942c31c082ec88f.57.llvm.15558594833912929062\n+[13923](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __xl_z\n+[13924](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_TlsAlloc\n+[13925](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a5c __lib64_libuserenv_a_iname\n+[13926](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000171d0 _ZN4core3fmt3num14DEC_DIGITS_LUT17h3147423d6587639fE\n+[13927](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp_anon.74fdae6415b638aa25041aa4487a05ae.4.llvm.16272800707749704641\n+[13928](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e8 __imp_anon.613c2815b58d0fe89e530fd715781380.9.llvm.8111713219908570339\n+[13929](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008a23 anon.1191e1e0e30864bbfca263014384cde2.82.llvm.6926716171404039897\n+[13930](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.49.llvm.15558594833912929062\n+[13931](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005a8 __imp__ZN3std6thread7current2id2ID17he830af7f640692c2E.llvm.16760335183301466238\n+[13932](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.36.llvm.10362654779312666465\n+[13933](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __xl_c\n+[13934](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000358 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.32.llvm.5413364227057093393\n+[13935](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb0 __imp__initialize_onexit_table\n+[13936](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.47.llvm.12307589555557943707\n+[13937](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009360 anon.a6a9d96e94134c7f8942c31c082ec88f.29.llvm.15558594833912929062\n+[13938](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_abort\n+[13939](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __xl_d\n+[13940](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14b8 WSADuplicateSocketW\n+[13941](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd0 __imp_anon.02976793a46813507f59616fd1c9275e.31.llvm.16726422113796030662\n+[13942](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002080 anon.471be997f5a6e6d1ae4ad33025e9150f.29.llvm.15379776895320610564\n+[13943](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e18 anon.471be997f5a6e6d1ae4ad33025e9150f.6.llvm.15379776895320610564\n+[13944](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021988 anon.c2de6cb4ec0390263cdfd140df216a50.58.llvm.12307589555557943707\n+[13945](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 __imp_anon.cf682d2739cc67cde0d187baeb967659.2.llvm.1023057999724376019\n+[13946](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001b04 libgcc_s_seh_1_dll_iname\n+[13947](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017106 anon.70a734ceb075a3f77ae0022f3903a47c.5.llvm.1562060106219418788\n+[13948](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 anon.cf682d2739cc67cde0d187baeb967659.4.llvm.1023057999724376019\n+[13949](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_WideCharToMultiByte\n+[13950](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2548 ___DTOR_LIST__\n+[13951](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1480 bind\n+[13952](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022fbf anon.bee77dec0f40919064a7130a9cb9a3c8.26.llvm.9526575686914974875\n+[13953](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.10.llvm.15558594833912929062\n+[13954](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f00 anon.613c2815b58d0fe89e530fd715781380.50.llvm.8111713219908570339\n+[13955](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000630 __imp_anon.613c2815b58d0fe89e530fd715781380.62.llvm.8111713219908570339\n+[13956](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007648 anon.4e490f9e57c31783abc71684d8dd07fd.9.llvm.10362654779312666465\n+[13957](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000680 __imp_anon.613c2815b58d0fe89e530fd715781380.112.llvm.8111713219908570339\n+[13958](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __xl_a\n+[13959](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000219b0 anon.c2de6cb4ec0390263cdfd140df216a50.61.llvm.12307589555557943707\n+[13960](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.61.llvm.15558594833912929062\n+[13961](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d8 __native_startup_state\n+[13962](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068628 ReadFile\n+[13963](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015a38 anon.125b845408d80ffb3be797922b5dde7d.2.llvm.15618036608475994017\n+[13964](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.18.llvm.15558594833912929062\n+[13965](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.39.llvm.11878318536325309687\n+[13966](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017ec ___tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname\n [13967](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009560 anon.a6a9d96e94134c7f8942c31c082ec88f.47.llvm.15558594833912929062\n [13968](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a0 __imp_CreateDirectoryW\n [13969](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000328 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.0.llvm.5413364227057093393\n [13970](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001da0 anon.471be997f5a6e6d1ae4ad33025e9150f.2.llvm.15379776895320610564\n [13971](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000060f8 anon.bde97222c13a73c1114c64f571df7937.2.llvm.16760335183301466238\n [13972](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001742 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.18.llvm.11601850474718555977\n [13973](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000018a8 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.37.llvm.11601850474718555977\n [13974](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008698 anon.1191e1e0e30864bbfca263014384cde2.41.llvm.6926716171404039897\n [13975](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000730 __imp_ExitProcess\n [13976](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.5.llvm.10362654779312666465\n-[13977](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017ec ___tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname\n-[13978](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp_ioctlsocket\n-[13979](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686e8 GetOverlappedResult\n-[13980](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017b0 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.21.llvm.11601850474718555977\n-[13981](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __rt_psrelocs_end\n-[13982](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001d88 anon.471be997f5a6e6d1ae4ad33025e9150f.1.llvm.15379776895320610564\n-[13983](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e00 anon.471be997f5a6e6d1ae4ad33025e9150f.5.llvm.15379776895320610564\n-[13984](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_ReadConsoleW\n-[13985](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000448 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.107.llvm.5413364227057093393\n-[13986](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24c0 __iob_func\n-[13987](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021965 anon.c2de6cb4ec0390263cdfd140df216a50.44.llvm.12307589555557943707\n-[13988](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp_accept\n-[13989](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687f0 CreateThread\n-[13990](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000288 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.15.llvm.11878318536325309687\n-[13991](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24d0 fwrite\n-[13992](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002488 anon.15032dc7f7815da06950c6c7f631ed3a.14.llvm.11878318536325309687\n-[13993](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000578 __imp_anon.bde97222c13a73c1114c64f571df7937.46.llvm.16760335183301466238\n-[13994](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa0 __imp_anon.df907a58630ce218ee9088e2e7c01296.6.llvm.3107137444050650198\n-[13995](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp__ZN4core7unicode12unicode_data9uppercase16BITSET_CANONICAL17h6afc8c9f6f50e794E\n-[13996](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000450 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.108.llvm.5413364227057093393\n-[13997](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.29.llvm.15379776895320610564\n-[13998](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b90 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.48.llvm.12307589555557943707\n-[13999](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a18 __imp_free\n-[14000](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.3.llvm.15558594833912929062\n-[14001](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006110 anon.bde97222c13a73c1114c64f571df7937.3.llvm.16760335183301466238\n-[14002](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad8 __imp__ZN4core7unicode12unicode_data9uppercase19BITSET_INDEX_CHUNKS17h1f534051b419dc0fE\n-[14003](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004118 anon.14e8aa8ff63fa88c8acdb0adf657021d.98.llvm.5413364227057093393\n-[14004](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.41.llvm.10362654779312666465\n-[14005](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068600 RtlVirtualUnwind\n-[14006](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068798 FlushFileBuffers\n-[14007](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f98 anon.334eed3927282b5a277288f09f1debb7.64.llvm.2001445131880281990\n-[14008](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_anon.1191e1e0e30864bbfca263014384cde2.79.llvm.6926716171404039897\n-[14009](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009578 anon.a6a9d96e94134c7f8942c31c082ec88f.48.llvm.15558594833912929062\n-[14010](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.50.llvm.15558594833912929062\n-[14011](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_GetCurrentThread\n-[14012](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14a0 WSASend\n-[14013](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a88 anon.613c2815b58d0fe89e530fd715781380.3.llvm.8111713219908570339\n-[14014](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017100 anon.70a734ceb075a3f77ae0022f3903a47c.2.llvm.1562060106219418788\n-[14015](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head__tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n-[14016](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_WaitForMultipleObjects\n-[14017](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_GetSystemDirectoryW\n-[14018](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __imp_anon.cf682d2739cc67cde0d187baeb967659.4.llvm.1023057999724376019\n-[14019](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc0 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.61.llvm.12307589555557943707\n-[14020](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000215e0 anon.c2de6cb4ec0390263cdfd140df216a50.2.llvm.12307589555557943707\n-[14021](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002240 anon.faa17738fd60f01f36928133f6f2e7da.3.llvm.7372912216135829142\n-[14022](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp_NtOpenFile\n-[14023](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005a0 __imp_anon.bde97222c13a73c1114c64f571df7937.76.llvm.16760335183301466238\n-[14024](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002f0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.111.llvm.11878318536325309687\n-[14025](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685f0 SetEnvironmentVariableW\n-[14026](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000035a0 anon.14e8aa8ff63fa88c8acdb0adf657021d.4.llvm.5413364227057093393\n-[14027](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1440 ioctlsocket\n-[14028](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008638 anon.1191e1e0e30864bbfca263014384cde2.39.llvm.6926716171404039897\n-[14029](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c38 __imp__ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817hda998ec88a913450E\n-[14030](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.16.llvm.15558594833912929062\n-[14031](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 _CRT_MT\n-[14032](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_WakeByAddressAll\n-[14033](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004130 anon.14e8aa8ff63fa88c8acdb0adf657021d.99.llvm.5413364227057093393\n-[14034](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp_UnmapViewOfFile\n-[14035](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_LeaveCriticalSection\n-[14036](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.29.llvm.15558594833912929062\n-[14037](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022fa2 anon.bee77dec0f40919064a7130a9cb9a3c8.25.llvm.9526575686914974875\n-[14038](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007450 anon.4e490f9e57c31783abc71684d8dd07fd.0.llvm.10362654779312666465\n-[14039](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000018218 anon.548af9b593bb376764255d41b66dd9ad.16.llvm.18313050272482191136\n-[14040](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006518 anon.bde97222c13a73c1114c64f571df7937.41.llvm.16760335183301466238\n-[14041](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000738c anon.613c2815b58d0fe89e530fd715781380.115.llvm.8111713219908570339\n-[14042](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000022b0 anon.faa17738fd60f01f36928133f6f2e7da.7.llvm.7372912216135829142\n-[14043](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068588 TlsAlloc\n-[14044](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022a80 _ZN4core7unicode12unicode_data9lowercase16BITSET_CANONICAL17h37463aeba2d1d26cE\n-[14045](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686a8 GetTempPathW\n-[14046](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f78 anon.334eed3927282b5a277288f09f1debb7.63.llvm.2001445131880281990\n-[14047](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000002 __minor_subsystem_version__\n-[14048](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.43.llvm.12307589555557943707\n-[14049](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000041b8 anon.14e8aa8ff63fa88c8acdb0adf657021d.105.llvm.5413364227057093393\n-[14050](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016f8f anon.951936ba3143fced68ee3304997d9e19.15.llvm.17612365085167486372\n-[14051](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__\n-[14052](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c40 _ZN4core7unicode12unicode_data9lowercase14BITSET_MAPPING17h072394f02e1c6521E\n-[14053](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068790 FormatMessageW\n-[14054](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005c0 __imp_anon.613c2815b58d0fe89e530fd715781380.2.llvm.8111713219908570339\n-[14055](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14d0 ProcessPrng\n-[14056](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c80 anon.bee77dec0f40919064a7130a9cb9a3c8.0.llvm.9526575686914974875\n-[14057](sec 4)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 rust_metadata_std_35790f9aa360fffb\n-[14058](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.1.llvm.10362654779312666465\n-[14059](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068608 RtlLookupFunctionEntry\n-[14060](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b8 __imp__ZN3std4hash6random11RandomState3new4KEYS28_$u7b$$u7b$closure$u7d$$u7d$3VAL17hdc0cde93b419af7eE\n-[14061](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027070 .refptr.__xi_a\n-[14062](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b48 anon.613c2815b58d0fe89e530fd715781380.9.llvm.8111713219908570339\n-[14063](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000064 _head_lib64_libuserenv_a\n-[14064](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687a0 FindNextFileW\n-[14065](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.25.llvm.11601850474718555977\n-[14066](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.21.llvm.11601850474718555977\n-[14067](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.22.llvm.15558594833912929062\n-[14068](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000568 __imp_anon.bde97222c13a73c1114c64f571df7937.44.llvm.16760335183301466238\n-[14069](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000460 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.111.llvm.5413364227057093393\n-[14070](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a880 anon.ca9c0bd954bf21a00ff37d225387af39.21.llvm.15540661059315109834\n-[14071](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000748 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.37.llvm.10362654779312666465\n-[14072](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027080 .refptr.__xi_z\n-[14073](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000091a8 anon.a6a9d96e94134c7f8942c31c082ec88f.3.llvm.15558594833912929062\n-[14074](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068708 GetLastError\n-[14075](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.51.llvm.12307589555557943707\n-[14076](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000208 __imp_anon.faa17738fd60f01f36928133f6f2e7da.3.llvm.7372912216135829142\n-[14077](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.6.llvm.10362654779312666465\n-[14078](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000931a anon.a6a9d96e94134c7f8942c31c082ec88f.24.llvm.15558594833912929062\n-[14079](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.24.llvm.15558594833912929062\n-[14080](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a68 anon.613c2815b58d0fe89e530fd715781380.2.llvm.8111713219908570339\n-[14081](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071a8 anon.613c2815b58d0fe89e530fd715781380.88.llvm.8111713219908570339\n-[14082](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp__Unwind_GetDataRelBase\n-[14083](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f40 anon.334eed3927282b5a277288f09f1debb7.60.llvm.2001445131880281990\n-[14084](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b0 __imp_anon.d09efb1a21878a6327720f5f05032caf.7.llvm.4759734605172953274\n-[14085](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 _head_lib64_libkernel32_a\n-[14086](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_FindClose\n-[14087](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c78 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.1.llvm.14459211374459367874\n-[14088](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066c0 anon.bde97222c13a73c1114c64f571df7937.57.llvm.16760335183301466238\n-[14089](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068838 CreateDirectoryW\n-[14090](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007830 anon.4e490f9e57c31783abc71684d8dd07fd.25.llvm.10362654779312666465\n-[14091](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e0 __imp__ZN3std6thread8ThreadId3new7COUNTER17h4d770dbd4c1893c8E.llvm.11878318536325309687\n-[14092](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 pcinit\n-[14093](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 __imp_InitOnceComplete\n-[14094](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf8 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.0.llvm.9526575686914974875\n-[14095](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_SetFileTime\n-[14096](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2500 InitializeCriticalSection\n-[14097](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000560 __imp_anon.bde97222c13a73c1114c64f571df7937.42.llvm.16760335183301466238\n-[14098](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.37.llvm.11601850474718555977\n-[14099](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000988 __imp___rust_alloc_error_handler_should_panic\n-[14100](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004188 anon.14e8aa8ff63fa88c8acdb0adf657021d.103.llvm.5413364227057093393\n-[14101](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.21.llvm.15558594833912929062\n-[14102](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022388 anon.02976793a46813507f59616fd1c9275e.31.llvm.16726422113796030662\n-[14103](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _tls_start\n-[14104](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021983 anon.c2de6cb4ec0390263cdfd140df216a50.57.llvm.12307589555557943707\n-[14105](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp__Unwind_SetIP\n-[14106](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068830 CreateEventW\n-[14107](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_Module32FirstW\n-[14108](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004140 anon.14e8aa8ff63fa88c8acdb0adf657021d.100.llvm.5413364227057093393\n-[14109](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068658 Module32NextW\n-[14110](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.16.llvm.11601850474718555977\n-[14111](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13e4 NtOpenFile\n-[14112](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000908 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.30.llvm.15558594833912929062\n-[14113](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000095c8 anon.a6a9d96e94134c7f8942c31c082ec88f.51.llvm.15558594833912929062\n-[14114](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f0 __mingw_app_type\n-[14115](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000788 __imp_GetCurrentProcessId\n-[14116](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 _ZN3std3sys12thread_local3key7windows5DTORS17h1e693d9f964fb5dfE.llvm.8111713219908570339\n-[14117](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c28 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.25.llvm.9526575686914974875\n-[14118](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_anon.1191e1e0e30864bbfca263014384cde2.45.llvm.6926716171404039897\n-[14119](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.1.llvm.12965910548521623435\n-[14120](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009266 anon.a6a9d96e94134c7f8942c31c082ec88f.10.llvm.15558594833912929062\n-[14121](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000570 __imp_anon.bde97222c13a73c1114c64f571df7937.45.llvm.16760335183301466238\n-[14122](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1418 send\n-[14123](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__\n-[14124](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_WriteFileEx\n-[14125](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.11.llvm.11601850474718555977\n-[14126](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_anon.548af9b593bb376764255d41b66dd9ad.13.llvm.18313050272482191136\n-[14127](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079a8 anon.4e490f9e57c31783abc71684d8dd07fd.36.llvm.10362654779312666465\n-[14128](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002438 anon.15032dc7f7815da06950c6c7f631ed3a.12.llvm.11878318536325309687\n-[14129](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068568 UnmapViewOfFile\n-[14130](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cd0 __native_vcclrit_reason\n-[14131](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687e8 CreateToolhelp32Snapshot\n-[14132](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a78 __imp_NtReadFile\n-[14133](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 __imp_anon.334eed3927282b5a277288f09f1debb7.66.llvm.2001445131880281990\n-[14134](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1468 freeaddrinfo\n-[14135](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.7.llvm.15379776895320610564\n-[14136](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_HeapReAlloc\n-[14137](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001f70 anon.471be997f5a6e6d1ae4ad33025e9150f.20.llvm.15379776895320610564\n-[14138](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000265f0 anon.3f0cf08f2a28531d822fb6666d6454ce.0.llvm.14459211374459367874\n-[14139](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __end__\n-[14140](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000be8 __imp__ZN4core7unicode12unicode_data9lowercase16BITSET_CANONICAL17h37463aeba2d1d26cE\n-[14141](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 anon.cf682d2739cc67cde0d187baeb967659.3.llvm.1023057999724376019\n-[14142](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000600 __imp_anon.613c2815b58d0fe89e530fd715781380.22.llvm.8111713219908570339\n-[14143](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.23.llvm.11601850474718555977\n-[14144](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb0 __imp__Unwind_RaiseException\n-[14145](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c8 __imp_GetFileType\n+[13977](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp_ioctlsocket\n+[13978](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686e8 GetOverlappedResult\n+[13979](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017b0 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.21.llvm.11601850474718555977\n+[13980](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 __rt_psrelocs_end\n+[13981](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001d88 anon.471be997f5a6e6d1ae4ad33025e9150f.1.llvm.15379776895320610564\n+[13982](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e00 anon.471be997f5a6e6d1ae4ad33025e9150f.5.llvm.15379776895320610564\n+[13983](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_ReadConsoleW\n+[13984](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000448 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.107.llvm.5413364227057093393\n+[13985](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24c0 __iob_func\n+[13986](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021965 anon.c2de6cb4ec0390263cdfd140df216a50.44.llvm.12307589555557943707\n+[13987](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp_accept\n+[13988](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687f0 CreateThread\n+[13989](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000288 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.15.llvm.11878318536325309687\n+[13990](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c24d0 fwrite\n+[13991](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002488 anon.15032dc7f7815da06950c6c7f631ed3a.14.llvm.11878318536325309687\n+[13992](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000578 __imp_anon.bde97222c13a73c1114c64f571df7937.46.llvm.16760335183301466238\n+[13993](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa0 __imp_anon.df907a58630ce218ee9088e2e7c01296.6.llvm.3107137444050650198\n+[13994](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp__ZN4core7unicode12unicode_data9uppercase16BITSET_CANONICAL17h6afc8c9f6f50e794E\n+[13995](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000450 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.108.llvm.5413364227057093393\n+[13996](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d8 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.29.llvm.15379776895320610564\n+[13997](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b90 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.48.llvm.12307589555557943707\n+[13998](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a18 __imp_free\n+[13999](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.3.llvm.15558594833912929062\n+[14000](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006110 anon.bde97222c13a73c1114c64f571df7937.3.llvm.16760335183301466238\n+[14001](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad8 __imp__ZN4core7unicode12unicode_data9uppercase19BITSET_INDEX_CHUNKS17h1f534051b419dc0fE\n+[14002](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004118 anon.14e8aa8ff63fa88c8acdb0adf657021d.98.llvm.5413364227057093393\n+[14003](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.41.llvm.10362654779312666465\n+[14004](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068600 RtlVirtualUnwind\n+[14005](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068798 FlushFileBuffers\n+[14006](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f98 anon.334eed3927282b5a277288f09f1debb7.64.llvm.2001445131880281990\n+[14007](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_anon.1191e1e0e30864bbfca263014384cde2.79.llvm.6926716171404039897\n+[14008](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009578 anon.a6a9d96e94134c7f8942c31c082ec88f.48.llvm.15558594833912929062\n+[14009](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.50.llvm.15558594833912929062\n+[14010](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_GetCurrentThread\n+[14011](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14a0 WSASend\n+[14012](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a88 anon.613c2815b58d0fe89e530fd715781380.3.llvm.8111713219908570339\n+[14013](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017100 anon.70a734ceb075a3f77ae0022f3903a47c.2.llvm.1562060106219418788\n+[14014](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_WaitForMultipleObjects\n+[14015](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_GetSystemDirectoryW\n+[14016](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __imp_anon.cf682d2739cc67cde0d187baeb967659.4.llvm.1023057999724376019\n+[14017](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc0 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.61.llvm.12307589555557943707\n+[14018](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000215e0 anon.c2de6cb4ec0390263cdfd140df216a50.2.llvm.12307589555557943707\n+[14019](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002240 anon.faa17738fd60f01f36928133f6f2e7da.3.llvm.7372912216135829142\n+[14020](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp_NtOpenFile\n+[14021](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005a0 __imp_anon.bde97222c13a73c1114c64f571df7937.76.llvm.16760335183301466238\n+[14022](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002f0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.111.llvm.11878318536325309687\n+[14023](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685f0 SetEnvironmentVariableW\n+[14024](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000035a0 anon.14e8aa8ff63fa88c8acdb0adf657021d.4.llvm.5413364227057093393\n+[14025](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1440 ioctlsocket\n+[14026](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000008638 anon.1191e1e0e30864bbfca263014384cde2.39.llvm.6926716171404039897\n+[14027](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c38 __imp__ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817hda998ec88a913450E\n+[14028](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.16.llvm.15558594833912929062\n+[14029](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 _CRT_MT\n+[14030](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_WakeByAddressAll\n+[14031](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004130 anon.14e8aa8ff63fa88c8acdb0adf657021d.99.llvm.5413364227057093393\n+[14032](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp_UnmapViewOfFile\n+[14033](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_LeaveCriticalSection\n+[14034](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.29.llvm.15558594833912929062\n+[14035](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022fa2 anon.bee77dec0f40919064a7130a9cb9a3c8.25.llvm.9526575686914974875\n+[14036](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007450 anon.4e490f9e57c31783abc71684d8dd07fd.0.llvm.10362654779312666465\n+[14037](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000018218 anon.548af9b593bb376764255d41b66dd9ad.16.llvm.18313050272482191136\n+[14038](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006518 anon.bde97222c13a73c1114c64f571df7937.41.llvm.16760335183301466238\n+[14039](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000738c anon.613c2815b58d0fe89e530fd715781380.115.llvm.8111713219908570339\n+[14040](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000022b0 anon.faa17738fd60f01f36928133f6f2e7da.7.llvm.7372912216135829142\n+[14041](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068588 TlsAlloc\n+[14042](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022a80 _ZN4core7unicode12unicode_data9lowercase16BITSET_CANONICAL17h37463aeba2d1d26cE\n+[14043](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686a8 GetTempPathW\n+[14044](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f78 anon.334eed3927282b5a277288f09f1debb7.63.llvm.2001445131880281990\n+[14045](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000002 __minor_subsystem_version__\n+[14046](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.43.llvm.12307589555557943707\n+[14047](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000041b8 anon.14e8aa8ff63fa88c8acdb0adf657021d.105.llvm.5413364227057093393\n+[14048](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016f8f anon.951936ba3143fced68ee3304997d9e19.15.llvm.17612365085167486372\n+[14049](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__\n+[14050](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c40 _ZN4core7unicode12unicode_data9lowercase14BITSET_MAPPING17h072394f02e1c6521E\n+[14051](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068790 FormatMessageW\n+[14052](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005c0 __imp_anon.613c2815b58d0fe89e530fd715781380.2.llvm.8111713219908570339\n+[14053](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14d0 ProcessPrng\n+[14054](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c80 anon.bee77dec0f40919064a7130a9cb9a3c8.0.llvm.9526575686914974875\n+[14055](sec 4)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 rust_metadata_std_35790f9aa360fffb\n+[14056](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.1.llvm.10362654779312666465\n+[14057](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068608 RtlLookupFunctionEntry\n+[14058](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b8 __imp__ZN3std4hash6random11RandomState3new4KEYS28_$u7b$$u7b$closure$u7d$$u7d$3VAL17hdc0cde93b419af7eE\n+[14059](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027070 .refptr.__xi_a\n+[14060](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b48 anon.613c2815b58d0fe89e530fd715781380.9.llvm.8111713219908570339\n+[14061](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000064 _head_lib64_libuserenv_a\n+[14062](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687a0 FindNextFileW\n+[14063](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.25.llvm.11601850474718555977\n+[14064](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.21.llvm.11601850474718555977\n+[14065](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.22.llvm.15558594833912929062\n+[14066](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000568 __imp_anon.bde97222c13a73c1114c64f571df7937.44.llvm.16760335183301466238\n+[14067](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000460 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.111.llvm.5413364227057093393\n+[14068](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a880 anon.ca9c0bd954bf21a00ff37d225387af39.21.llvm.15540661059315109834\n+[14069](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000748 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.37.llvm.10362654779312666465\n+[14070](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027080 .refptr.__xi_z\n+[14071](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000091a8 anon.a6a9d96e94134c7f8942c31c082ec88f.3.llvm.15558594833912929062\n+[14072](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068708 GetLastError\n+[14073](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.51.llvm.12307589555557943707\n+[14074](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000208 __imp_anon.faa17738fd60f01f36928133f6f2e7da.3.llvm.7372912216135829142\n+[14075](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.6.llvm.10362654779312666465\n+[14076](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000931a anon.a6a9d96e94134c7f8942c31c082ec88f.24.llvm.15558594833912929062\n+[14077](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.24.llvm.15558594833912929062\n+[14078](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a68 anon.613c2815b58d0fe89e530fd715781380.2.llvm.8111713219908570339\n+[14079](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071a8 anon.613c2815b58d0fe89e530fd715781380.88.llvm.8111713219908570339\n+[14080](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp__Unwind_GetDataRelBase\n+[14081](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f40 anon.334eed3927282b5a277288f09f1debb7.60.llvm.2001445131880281990\n+[14082](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b0 __imp_anon.d09efb1a21878a6327720f5f05032caf.7.llvm.4759734605172953274\n+[14083](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 _head_lib64_libkernel32_a\n+[14084](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_FindClose\n+[14085](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c78 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.1.llvm.14459211374459367874\n+[14086](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066c0 anon.bde97222c13a73c1114c64f571df7937.57.llvm.16760335183301466238\n+[14087](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068838 CreateDirectoryW\n+[14088](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007830 anon.4e490f9e57c31783abc71684d8dd07fd.25.llvm.10362654779312666465\n+[14089](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e0 __imp__ZN3std6thread8ThreadId3new7COUNTER17h4d770dbd4c1893c8E.llvm.11878318536325309687\n+[14090](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 pcinit\n+[14091](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 __imp_InitOnceComplete\n+[14092](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf8 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.0.llvm.9526575686914974875\n+[14093](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_SetFileTime\n+[14094](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2500 InitializeCriticalSection\n+[14095](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000560 __imp_anon.bde97222c13a73c1114c64f571df7937.42.llvm.16760335183301466238\n+[14096](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.37.llvm.11601850474718555977\n+[14097](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001814 ___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname\n+[14098](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000988 __imp___rust_alloc_error_handler_should_panic\n+[14099](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004188 anon.14e8aa8ff63fa88c8acdb0adf657021d.103.llvm.5413364227057093393\n+[14100](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.21.llvm.15558594833912929062\n+[14101](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022388 anon.02976793a46813507f59616fd1c9275e.31.llvm.16726422113796030662\n+[14102](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _tls_start\n+[14103](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021983 anon.c2de6cb4ec0390263cdfd140df216a50.57.llvm.12307589555557943707\n+[14104](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp__Unwind_SetIP\n+[14105](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068830 CreateEventW\n+[14106](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_Module32FirstW\n+[14107](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004140 anon.14e8aa8ff63fa88c8acdb0adf657021d.100.llvm.5413364227057093393\n+[14108](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068658 Module32NextW\n+[14109](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.16.llvm.11601850474718555977\n+[14110](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13e4 NtOpenFile\n+[14111](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000908 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.30.llvm.15558594833912929062\n+[14112](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000095c8 anon.a6a9d96e94134c7f8942c31c082ec88f.51.llvm.15558594833912929062\n+[14113](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001f0 __mingw_app_type\n+[14114](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000788 __imp_GetCurrentProcessId\n+[14115](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 _ZN3std3sys12thread_local3key7windows5DTORS17h1e693d9f964fb5dfE.llvm.8111713219908570339\n+[14116](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c28 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.25.llvm.9526575686914974875\n+[14117](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_anon.1191e1e0e30864bbfca263014384cde2.45.llvm.6926716171404039897\n+[14118](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.1.llvm.12965910548521623435\n+[14119](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009266 anon.a6a9d96e94134c7f8942c31c082ec88f.10.llvm.15558594833912929062\n+[14120](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000570 __imp_anon.bde97222c13a73c1114c64f571df7937.45.llvm.16760335183301466238\n+[14121](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1418 send\n+[14122](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__\n+[14123](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_WriteFileEx\n+[14124](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.11.llvm.11601850474718555977\n+[14125](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_anon.548af9b593bb376764255d41b66dd9ad.13.llvm.18313050272482191136\n+[14126](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079a8 anon.4e490f9e57c31783abc71684d8dd07fd.36.llvm.10362654779312666465\n+[14127](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002438 anon.15032dc7f7815da06950c6c7f631ed3a.12.llvm.11878318536325309687\n+[14128](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068568 UnmapViewOfFile\n+[14129](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cd0 __native_vcclrit_reason\n+[14130](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687e8 CreateToolhelp32Snapshot\n+[14131](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a78 __imp_NtReadFile\n+[14132](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 __imp_anon.334eed3927282b5a277288f09f1debb7.66.llvm.2001445131880281990\n+[14133](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1468 freeaddrinfo\n+[14134](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.7.llvm.15379776895320610564\n+[14135](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_HeapReAlloc\n+[14136](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001f70 anon.471be997f5a6e6d1ae4ad33025e9150f.20.llvm.15379776895320610564\n+[14137](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000265f0 anon.3f0cf08f2a28531d822fb6666d6454ce.0.llvm.14459211374459367874\n+[14138](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __end__\n+[14139](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000be8 __imp__ZN4core7unicode12unicode_data9lowercase16BITSET_CANONICAL17h37463aeba2d1d26cE\n+[14140](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 anon.cf682d2739cc67cde0d187baeb967659.3.llvm.1023057999724376019\n+[14141](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000600 __imp_anon.613c2815b58d0fe89e530fd715781380.22.llvm.8111713219908570339\n+[14142](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.23.llvm.11601850474718555977\n+[14143](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb0 __imp__Unwind_RaiseException\n+[14144](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c8 __imp_GetFileType\n+[14145](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head__tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib\n [14146](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c8 __imp_WriteConsoleW\n [14147](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e8 __imp_GetModuleFileNameW\n [14148](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e8 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.14.llvm.11601850474718555977\n [14149](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.28.llvm.15558594833912929062\n [14150](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013460 anon.74fdae6415b638aa25041aa4487a05ae.3.llvm.16272800707749704641\n [14151](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a18 __imp_anon.5881a944dab48172ce9ab4c31fb42b0d.17.llvm.2141283131302511399\n [14152](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a8 __imp_CreateEventW\n@@ -50078,263 +50078,263 @@\n [14205](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000558 __imp_anon.bde97222c13a73c1114c64f571df7937.41.llvm.16760335183301466238\n [14206](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_FindFirstFileW\n [14207](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003f0 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.95.llvm.5413364227057093393\n [14208](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000175d0 anon.2d23cbceb7e4b258e81d2b77fc160d81.1.llvm.12965910548521623435\n [14209](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba8 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.54.llvm.12307589555557943707\n [14210](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006fc8 anon.613c2815b58d0fe89e530fd715781380.62.llvm.8111713219908570339\n [14211](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xi_start__\n-[14212](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006598 anon.bde97222c13a73c1114c64f571df7937.46.llvm.16760335183301466238\n-[14213](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f10 anon.15032dc7f7815da06950c6c7f631ed3a.109.llvm.11878318536325309687\n-[14214](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1500 _Unwind_SetIP\n-[14215](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000030 __imp_anon.cf682d2739cc67cde0d187baeb967659.12.llvm.1023057999724376019\n-[14216](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.7.llvm.15558594833912929062\n-[14217](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022f58 anon.bee77dec0f40919064a7130a9cb9a3c8.22.llvm.9526575686914974875\n-[14218](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.26.llvm.11878318536325309687\n-[14219](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007198 anon.613c2815b58d0fe89e530fd715781380.87.llvm.8111713219908570339\n-[14220](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __imp_anon.334eed3927282b5a277288f09f1debb7.57.llvm.2001445131880281990\n-[14221](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000180f6 anon.548af9b593bb376764255d41b66dd9ad.15.llvm.18313050272482191136\n-[14222](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000178 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.2.llvm.15379776895320610564\n-[14223](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000638 __imp_anon.613c2815b58d0fe89e530fd715781380.86.llvm.8111713219908570339\n-[14224](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1448 getsockopt\n-[14225](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040c0 anon.14e8aa8ff63fa88c8acdb0adf657021d.96.llvm.5413364227057093393\n-[14226](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000005 __major_subsystem_version__\n-[14227](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134a8 anon.74fdae6415b638aa25041aa4487a05ae.4.llvm.16272800707749704641\n-[14228](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000830 __imp_GetSystemInfo\n-[14229](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005f0 __imp_anon.613c2815b58d0fe89e530fd715781380.18.llvm.8111713219908570339\n-[14230](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a8 __imp_anon.d09efb1a21878a6327720f5f05032caf.6.llvm.4759734605172953274\n-[14231](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000360 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.33.llvm.5413364227057093393\n-[14232](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.8.llvm.10362654779312666465\n-[14233](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000528 __imp_anon.bde97222c13a73c1114c64f571df7937.2.llvm.16760335183301466238\n-[14234](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c88 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.3.llvm.14459211374459367874\n-[14235](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_CreateFileW\n-[14236](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007658 anon.4e490f9e57c31783abc71684d8dd07fd.10.llvm.10362654779312666465\n-[14237](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068580 TlsFree\n-[14238](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068638 QueryPerformanceFrequency\n-[14239](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.58.llvm.15558594833912929062\n-[14240](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027040 .refptr.__rust_alloc_error_handler_should_panic\n-[14241](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_CreateFileMappingA\n-[14242](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000278 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.13.llvm.11878318536325309687\n-[14243](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002090 anon.471be997f5a6e6d1ae4ad33025e9150f.30.llvm.15379776895320610564\n-[14244](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.11.llvm.10362654779312666465\n-[14245](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002196c anon.c2de6cb4ec0390263cdfd140df216a50.48.llvm.12307589555557943707\n-[14246](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000170e8 anon.70a734ceb075a3f77ae0022f3903a47c.1.llvm.1562060106219418788\n-[14247](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685b8 SetThreadStackGuarantee\n-[14248](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_freeaddrinfo\n-[14249](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079c8 anon.4e490f9e57c31783abc71684d8dd07fd.37.llvm.10362654779312666465\n-[14250](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068618 RemoveDirectoryW\n-[14251](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068738 GetFileAttributesW\n-[14252](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a850 anon.ca9c0bd954bf21a00ff37d225387af39.20.llvm.15540661059315109834\n-[14253](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021956 anon.c2de6cb4ec0390263cdfd140df216a50.41.llvm.12307589555557943707\n-[14254](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068670 InitializeProcThreadAttributeList\n-[14255](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000058 __imp_anon.334eed3927282b5a277288f09f1debb7.60.llvm.2001445131880281990\n-[14256](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c50 __imp_anon.68adf46199d381a3e7579e3039a486b2.35.llvm.16023864972203878572\n-[14257](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000170 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.1.llvm.15379776895320610564\n-[14258](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068648 MultiByteToWideChar\n-[14259](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 _ZN10std_detect6detect5cache5CACHE17he29bf3f9a9147b5cE\n-[14260](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_end__\n-[14261](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000148 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.26.llvm.11601850474718555977\n-[14262](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_getpeername\n-[14263](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp__Unwind_DeleteException\n-[14264](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c20 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.24.llvm.9526575686914974875\n-[14265](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000548 __imp_anon.bde97222c13a73c1114c64f571df7937.8.llvm.16760335183301466238\n-[14266](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068680 InitOnceBeginInitialize\n-[14267](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000428 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.102.llvm.5413364227057093393\n-[14268](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002668 anon.15032dc7f7815da06950c6c7f631ed3a.39.llvm.11878318536325309687\n-[14269](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.38.llvm.10362654779312666465\n-[14270](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1490 WSAStartup\n-[14271](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.18.llvm.15379776895320610564\n-[14272](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_start__\n-[14273](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004220 anon.14e8aa8ff63fa88c8acdb0adf657021d.110.llvm.5413364227057093393\n-[14274](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 ___RUNTIME_PSEUDO_RELOC_LIST__\n-[14275](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1528 _Unwind_GetRegionStart\n-[14276](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005b8 __imp_anon.613c2815b58d0fe89e530fd715781380.1.llvm.8111713219908570339\n-[14277](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000440 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.105.llvm.5413364227057093393\n-[14278](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a08e anon.5ab24c04836e7d0e010a75467e6848df.14.llvm.10587846507795593389\n-[14279](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a20 anon.4e490f9e57c31783abc71684d8dd07fd.40.llvm.10362654779312666465\n-[14280](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015a70 anon.125b845408d80ffb3be797922b5dde7d.3.llvm.15618036608475994017\n-[14281](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068740 GetExitCodeProcess\n-[14282](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a071 anon.5ab24c04836e7d0e010a75467e6848df.13.llvm.10587846507795593389\n-[14283](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000098 __imp_anon.e378354099b4d9966b07b9681dbdc8a5.1.llvm.8477227672942286914\n-[14284](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021969 anon.c2de6cb4ec0390263cdfd140df216a50.46.llvm.12307589555557943707\n-[14285](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.13.llvm.15558594833912929062\n-[14286](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad0 __imp_WSASocketW\n-[14287](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.3.llvm.12965910548521623435\n-[14288](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 _head_lib64_libws2_32_a\n-[14289](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685d8 SetFilePointerEx\n-[14290](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001828 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.26.llvm.11601850474718555977\n-[14291](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000910 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.41.llvm.15558594833912929062\n-[14292](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000710 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.13.llvm.10362654779312666465\n-[14293](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __major_image_version__\n-[14294](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __section_alignment__\n-[14295](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686b8 GetSystemInfo\n-[14296](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006580 anon.bde97222c13a73c1114c64f571df7937.45.llvm.16760335183301466238\n-[14297](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_SetFileInformationByHandle\n-[14298](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000620 __imp_anon.613c2815b58d0fe89e530fd715781380.51.llvm.8111713219908570339\n-[14299](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000038a0 anon.14e8aa8ff63fa88c8acdb0adf657021d.33.llvm.5413364227057093393\n-[14300](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c80 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.2.llvm.14459211374459367874\n-[14301](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b08 anon.125b845408d80ffb3be797922b5dde7d.8.llvm.15618036608475994017\n-[14302](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000368 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.34.llvm.5413364227057093393\n-[14303](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_anon.613c2815b58d0fe89e530fd715781380.93.llvm.8111713219908570339\n-[14304](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.27.llvm.7969141108083497962\n-[14305](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.7.llvm.10362654779312666465\n-[14306](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009634 anon.a6a9d96e94134c7f8942c31c082ec88f.58.llvm.15558594833912929062\n-[14307](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp_anon.548af9b593bb376764255d41b66dd9ad.16.llvm.18313050272482191136\n-[14308](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687e0 CreateWaitableTimerExW\n-[14309](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000680 __imp_CancelIo\n-[14310](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000076f0 anon.4e490f9e57c31783abc71684d8dd07fd.13.llvm.10362654779312666465\n-[14311](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_ReadFile\n-[14312](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007208 anon.613c2815b58d0fe89e530fd715781380.91.llvm.8111713219908570339\n-[14313](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 _ZN5alloc4sync18STATIC_INNER_SLICE17h86346c68f5ec9998E\n-[14314](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_anon.613c2815b58d0fe89e530fd715781380.87.llvm.8111713219908570339\n-[14315](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000200 __imp_anon.faa17738fd60f01f36928133f6f2e7da.2.llvm.7372912216135829142\n-[14316](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068728 GetFileInformationByHandleEx\n-[14317](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027030 .refptr.__native_startup_state\n-[14318](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f70 anon.15032dc7f7815da06950c6c7f631ed3a.112.llvm.11878318536325309687\n-[14319](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068770 GetCurrentDirectoryW\n-[14320](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_SetThreadStackGuarantee\n-[14321](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1520 _Unwind_GetTextRelBase\n-[14322](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260a0 anon.68adf46199d381a3e7579e3039a486b2.34.llvm.16023864972203878572\n-[14323](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 ___crt_xl_start__\n-[14324](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2548 __DTOR_LIST__\n-[14325](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000498 __imp_anon.d09efb1a21878a6327720f5f05032caf.4.llvm.4759734605172953274\n-[14326](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006938 anon.bde97222c13a73c1114c64f571df7937.76.llvm.16760335183301466238\n-[14327](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e8 __imp_RtlCaptureContext\n-[14328](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000167c anon.ccb22e4cd7fbcbc558a5e5a3f0337848.11.llvm.11601850474718555977\n-[14329](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.38.llvm.12307589555557943707\n-[14330](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068720 GetFileType\n-[14331](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686d8 GetProcessHeap\n-[14332](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000915b anon.a6a9d96e94134c7f8942c31c082ec88f.2.llvm.15558594833912929062\n-[14333](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006193 anon.bde97222c13a73c1114c64f571df7937.7.llvm.16760335183301466238\n-[14334](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000618 __imp_anon.613c2815b58d0fe89e530fd715781380.50.llvm.8111713219908570339\n-[14335](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000072a8 anon.613c2815b58d0fe89e530fd715781380.102.llvm.8111713219908570339\n-[14336](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_ReadFileEx\n-[14337](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.15.llvm.11601850474718555977\n-[14338](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000598 __imp_anon.bde97222c13a73c1114c64f571df7937.75.llvm.16760335183301466238\n-[14339](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 _ZN3std9panicking4HOOK17h1cde4119db14dccfE\n-[14340](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.63.llvm.15558594833912929062\n-[14341](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016fa0 anon.951936ba3143fced68ee3304997d9e19.16.llvm.17612365085167486372\n-[14342](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 _ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h729b602ac07d7771E\n-[14343](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000250c anon.15032dc7f7815da06950c6c7f631ed3a.22.llvm.11878318536325309687\n-[14344](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a898 anon.ca9c0bd954bf21a00ff37d225387af39.22.llvm.15540661059315109834\n-[14345](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026658 anon.3f0cf08f2a28531d822fb6666d6454ce.3.llvm.14459211374459367874\n-[14346](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006aa8 anon.613c2815b58d0fe89e530fd715781380.4.llvm.8111713219908570339\n-[14347](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_start__\n-[14348](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c24f0 VirtualProtect\n-[14349](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000073d0 anon.613c2815b58d0fe89e530fd715781380.117.llvm.8111713219908570339\n-[14350](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009590 anon.a6a9d96e94134c7f8942c31c082ec88f.49.llvm.15558594833912929062\n-[14351](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001438 anon.e378354099b4d9966b07b9681dbdc8a5.0.llvm.8477227672942286914\n-[14352](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000118 _ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17h263c7061702463a3E.0.llvm.5413364227057093393\n-[14353](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1408 setsockopt\n-[14354](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a20 __imp_anon.5881a944dab48172ce9ab4c31fb42b0d.18.llvm.2141283131302511399\n-[14355](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.10.llvm.10362654779312666465\n-[14356](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_GetUserProfileDirectoryW\n-[14357](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c8 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.26.llvm.7969141108083497962\n-[14358](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026ff0 .refptr.__dyn_tls_init_callback\n-[14359](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_CopyFileExW\n-[14360](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000710 __imp_DeleteProcThreadAttributeList\n-[14361](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.41.llvm.12307589555557943707\n-[14362](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_image_version__\n-[14363](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026f98 .refptr._ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n-[14364](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 __imp__ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17h762d7cdd1d9bc612E.llvm.16023864972203878572\n-[14365](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_GetWindowsDirectoryW\n-[14366](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000338 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.2.llvm.5413364227057093393\n-[14367](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001d58 anon.471be997f5a6e6d1ae4ad33025e9150f.0.llvm.15379776895320610564\n-[14368](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000088 __imp__ZN3std3sys3pal7windows3net11WSA_CLEANUP17h4a5445fe5304220fE.llvm.8477227672942286914\n-[14369](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_GetLastError\n-[14370](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b30 __imp__ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha5d0c39293d82f99E\n-[14371](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003920 anon.14e8aa8ff63fa88c8acdb0adf657021d.36.llvm.5413364227057093393\n-[14372](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d8 __imp__ZN3std9panicking4HOOK17h1cde4119db14dccfE\n-[14373](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001f58 anon.471be997f5a6e6d1ae4ad33025e9150f.19.llvm.15379776895320610564\n-[14374](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000890 __imp_MapViewOfFile\n-[14375](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp_anon.02976793a46813507f59616fd1c9275e.30.llvm.16726422113796030662\n-[14376](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260d0 _ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17h762d7cdd1d9bc612E.llvm.16023864972203878572\n-[14377](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_end__\n-[14378](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000095b8 anon.a6a9d96e94134c7f8942c31c082ec88f.50.llvm.15558594833912929062\n-[14379](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002195f anon.c2de6cb4ec0390263cdfd140df216a50.43.llvm.12307589555557943707\n-[14380](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000058b1 anon.d6527d4515cb88f97b880ef9d8324e35.79.llvm.7969141108083497962\n-[14381](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_VirtualProtect\n-[14382](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_CreateThread\n-[14383](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b58 anon.125b845408d80ffb3be797922b5dde7d.11.llvm.15618036608475994017\n-[14384](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.22.llvm.11601850474718555977\n-[14385](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_NtWriteFile\n-[14386](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009240 anon.a6a9d96e94134c7f8942c31c082ec88f.7.llvm.15558594833912929062\n-[14387](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_start__\n-[14388](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.94.llvm.5413364227057093393\n-[14389](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f02 anon.613c2815b58d0fe89e530fd715781380.51.llvm.8111713219908570339\n-[14390](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.48.llvm.15558594833912929062\n-[14391](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.25.llvm.15558594833912929062\n-[14392](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000540 __imp_anon.bde97222c13a73c1114c64f571df7937.7.llvm.16760335183301466238\n-[14393](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a8 __imp__ZN3std2io5stdio6STDOUT17h90d2f6b9127964a8E.llvm.11878318536325309687\n-[14394](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068730 GetFileInformationByHandle\n-[14395](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1458 getpeername\n-[14396](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a4c __lib64_libntdll_a_iname\n-[14397](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000210 __imp_anon.faa17738fd60f01f36928133f6f2e7da.6.llvm.7372912216135829142\n-[14398](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.23.llvm.11878318536325309687\n-[14399](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001dd0 anon.471be997f5a6e6d1ae4ad33025e9150f.4.llvm.15379776895320610564\n-[14400](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_GetProcessHeap\n-[14401](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.26.llvm.15558594833912929062\n-[14402](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000330 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.1.llvm.5413364227057093393\n-[14403](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002194f anon.c2de6cb4ec0390263cdfd140df216a50.38.llvm.12307589555557943707\n-[14404](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a58 __imp_strncmp\n-[14405](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000670 __imp_anon.613c2815b58d0fe89e530fd715781380.101.llvm.8111713219908570339\n-[14406](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000108 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.18.llvm.11601850474718555977\n-[14407](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000100 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.17.llvm.11601850474718555977\n-[14408](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 _ZN3std2io5stdio6stderr8INSTANCE17h4966849e56562bc3E\n-[14409](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 _ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n-[14410](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000988 __imp_TlsSetValue\n-[14411](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fd0 .refptr.__RUNTIME_PSEUDO_RELOC_LIST_END__\n-[14412](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001ec _tls_index\n-[14413](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000078c8 anon.4e490f9e57c31783abc71684d8dd07fd.28.llvm.10362654779312666465\n-[14414](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000658 __imp_WakeByAddressSingle\n-[14415](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a58 anon.4e490f9e57c31783abc71684d8dd07fd.41.llvm.10362654779312666465\n-[14416](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003868 anon.14e8aa8ff63fa88c8acdb0adf657021d.31.llvm.5413364227057093393\n-[14417](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000175ed anon.2d23cbceb7e4b258e81d2b77fc160d81.2.llvm.12965910548521623435\n-[14418](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.12.llvm.15558594833912929062\n-[14419](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021978 anon.c2de6cb4ec0390263cdfd140df216a50.52.llvm.12307589555557943707\n-[14420](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017550 anon.2d23cbceb7e4b258e81d2b77fc160d81.0.llvm.12965910548521623435\n-[14421](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_anon.ca9c0bd954bf21a00ff37d225387af39.20.llvm.15540661059315109834\n-[14422](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005f3c anon.b856ed75cf5d248ad8ab7df55ef82720.0.llvm.17494912285420036471\n-[14423](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_GetModuleHandleA\n-[14424](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020b0 anon.471be997f5a6e6d1ae4ad33025e9150f.31.llvm.15379776895320610564\n-[14425](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_memmove\n-[14426](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686c8 GetStdHandle\n-[14427](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092e3 anon.a6a9d96e94134c7f8942c31c082ec88f.20.llvm.15558594833912929062\n-[14428](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __IAT_start__\n-[14429](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000718 __imp_DeviceIoControl\n-[14430](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xc_end__\n-[14431](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2530 __CTOR_LIST__\n-[14432](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c48 __imp_anon.68adf46199d381a3e7579e3039a486b2.34.llvm.16023864972203878572\n-[14433](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068570 TlsSetValue\n-[14434](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a56 anon.14e8aa8ff63fa88c8acdb0adf657021d.44.llvm.5413364227057093393\n-[14435](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_GetExitCodeProcess\n-[14436](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp___iob_func\n-[14437](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000268 __imp__ZN3std6thread7Builder16spawn_unchecked_28_$u7b$$u7b$closure$u7d$$u7d$3MIN17hf04a1cb9d6d18440E\n-[14438](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_start__\n-[14439](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a48 anon.613c2815b58d0fe89e530fd715781380.1.llvm.8111713219908570339\n-[14440](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017b90 anon.548af9b593bb376764255d41b66dd9ad.0.llvm.18313050272482191136\n-[14441](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.42.llvm.12307589555557943707\n-[14442](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000168 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.0.llvm.15379776895320610564\n-[14443](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000770 __imp__ZN3std6thread7current7CURRENT17h8bf2baecdd8820fcE\n-[14444](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009333 anon.a6a9d96e94134c7f8942c31c082ec88f.26.llvm.15558594833912929062\n-[14445](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068678 InitOnceComplete\n-[14446](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f48 anon.15032dc7f7815da06950c6c7f631ed3a.111.llvm.11878318536325309687\n-[14447](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13f0 GetUserProfileDirectoryW\n-[14448](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c16c8 _initterm\n-[14449](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a20 __imp_fwrite\n-[14450](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1410 sendto\n-[14451](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf0 __imp__ZN4core7unicode12unicode_data9lowercase14BITSET_MAPPING17h072394f02e1c6521E\n-[14452](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_vfprintf\n-[14453](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14e0 WakeByAddressSingle\n-[14454](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068688 HeapReAlloc\n-[14455](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000008c _head_libgcc_s_seh_1_dll\n-[14456](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000270 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.12.llvm.11878318536325309687\n-[14457](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.39.llvm.10362654779312666465\n-[14458](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_anon.613c2815b58d0fe89e530fd715781380.102.llvm.8111713219908570339\n-[14459](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab8 __imp_WSAGetLastError\n-[14460](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001814 ___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname\n+[14212](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 _head__tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib\n+[14213](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006598 anon.bde97222c13a73c1114c64f571df7937.46.llvm.16760335183301466238\n+[14214](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f10 anon.15032dc7f7815da06950c6c7f631ed3a.109.llvm.11878318536325309687\n+[14215](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1500 _Unwind_SetIP\n+[14216](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000030 __imp_anon.cf682d2739cc67cde0d187baeb967659.12.llvm.1023057999724376019\n+[14217](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.7.llvm.15558594833912929062\n+[14218](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022f58 anon.bee77dec0f40919064a7130a9cb9a3c8.22.llvm.9526575686914974875\n+[14219](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.26.llvm.11878318536325309687\n+[14220](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007198 anon.613c2815b58d0fe89e530fd715781380.87.llvm.8111713219908570339\n+[14221](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __imp_anon.334eed3927282b5a277288f09f1debb7.57.llvm.2001445131880281990\n+[14222](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000180f6 anon.548af9b593bb376764255d41b66dd9ad.15.llvm.18313050272482191136\n+[14223](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000178 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.2.llvm.15379776895320610564\n+[14224](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000638 __imp_anon.613c2815b58d0fe89e530fd715781380.86.llvm.8111713219908570339\n+[14225](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1448 getsockopt\n+[14226](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040c0 anon.14e8aa8ff63fa88c8acdb0adf657021d.96.llvm.5413364227057093393\n+[14227](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000005 __major_subsystem_version__\n+[14228](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134a8 anon.74fdae6415b638aa25041aa4487a05ae.4.llvm.16272800707749704641\n+[14229](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000830 __imp_GetSystemInfo\n+[14230](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005f0 __imp_anon.613c2815b58d0fe89e530fd715781380.18.llvm.8111713219908570339\n+[14231](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a8 __imp_anon.d09efb1a21878a6327720f5f05032caf.6.llvm.4759734605172953274\n+[14232](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000360 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.33.llvm.5413364227057093393\n+[14233](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.8.llvm.10362654779312666465\n+[14234](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000528 __imp_anon.bde97222c13a73c1114c64f571df7937.2.llvm.16760335183301466238\n+[14235](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c88 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.3.llvm.14459211374459367874\n+[14236](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_CreateFileW\n+[14237](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007658 anon.4e490f9e57c31783abc71684d8dd07fd.10.llvm.10362654779312666465\n+[14238](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068580 TlsFree\n+[14239](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068638 QueryPerformanceFrequency\n+[14240](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.58.llvm.15558594833912929062\n+[14241](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027040 .refptr.__rust_alloc_error_handler_should_panic\n+[14242](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_CreateFileMappingA\n+[14243](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000278 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.13.llvm.11878318536325309687\n+[14244](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002090 anon.471be997f5a6e6d1ae4ad33025e9150f.30.llvm.15379776895320610564\n+[14245](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.11.llvm.10362654779312666465\n+[14246](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002196c anon.c2de6cb4ec0390263cdfd140df216a50.48.llvm.12307589555557943707\n+[14247](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000170e8 anon.70a734ceb075a3f77ae0022f3903a47c.1.llvm.1562060106219418788\n+[14248](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685b8 SetThreadStackGuarantee\n+[14249](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_freeaddrinfo\n+[14250](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079c8 anon.4e490f9e57c31783abc71684d8dd07fd.37.llvm.10362654779312666465\n+[14251](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068618 RemoveDirectoryW\n+[14252](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068738 GetFileAttributesW\n+[14253](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a850 anon.ca9c0bd954bf21a00ff37d225387af39.20.llvm.15540661059315109834\n+[14254](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021956 anon.c2de6cb4ec0390263cdfd140df216a50.41.llvm.12307589555557943707\n+[14255](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068670 InitializeProcThreadAttributeList\n+[14256](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000058 __imp_anon.334eed3927282b5a277288f09f1debb7.60.llvm.2001445131880281990\n+[14257](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c50 __imp_anon.68adf46199d381a3e7579e3039a486b2.35.llvm.16023864972203878572\n+[14258](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000170 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.1.llvm.15379776895320610564\n+[14259](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068648 MultiByteToWideChar\n+[14260](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 _ZN10std_detect6detect5cache5CACHE17he29bf3f9a9147b5cE\n+[14261](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_end__\n+[14262](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000148 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.26.llvm.11601850474718555977\n+[14263](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_getpeername\n+[14264](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp__Unwind_DeleteException\n+[14265](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c20 __imp_anon.bee77dec0f40919064a7130a9cb9a3c8.24.llvm.9526575686914974875\n+[14266](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000548 __imp_anon.bde97222c13a73c1114c64f571df7937.8.llvm.16760335183301466238\n+[14267](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068680 InitOnceBeginInitialize\n+[14268](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000428 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.102.llvm.5413364227057093393\n+[14269](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002668 anon.15032dc7f7815da06950c6c7f631ed3a.39.llvm.11878318536325309687\n+[14270](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.38.llvm.10362654779312666465\n+[14271](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1490 WSAStartup\n+[14272](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001b0 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.18.llvm.15379776895320610564\n+[14273](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_start__\n+[14274](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004220 anon.14e8aa8ff63fa88c8acdb0adf657021d.110.llvm.5413364227057093393\n+[14275](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000272f0 ___RUNTIME_PSEUDO_RELOC_LIST__\n+[14276](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1528 _Unwind_GetRegionStart\n+[14277](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005b8 __imp_anon.613c2815b58d0fe89e530fd715781380.1.llvm.8111713219908570339\n+[14278](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000440 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.105.llvm.5413364227057093393\n+[14279](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a08e anon.5ab24c04836e7d0e010a75467e6848df.14.llvm.10587846507795593389\n+[14280](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a20 anon.4e490f9e57c31783abc71684d8dd07fd.40.llvm.10362654779312666465\n+[14281](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015a70 anon.125b845408d80ffb3be797922b5dde7d.3.llvm.15618036608475994017\n+[14282](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068740 GetExitCodeProcess\n+[14283](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a071 anon.5ab24c04836e7d0e010a75467e6848df.13.llvm.10587846507795593389\n+[14284](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000098 __imp_anon.e378354099b4d9966b07b9681dbdc8a5.1.llvm.8477227672942286914\n+[14285](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021969 anon.c2de6cb4ec0390263cdfd140df216a50.46.llvm.12307589555557943707\n+[14286](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.13.llvm.15558594833912929062\n+[14287](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad0 __imp_WSASocketW\n+[14288](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_anon.2d23cbceb7e4b258e81d2b77fc160d81.3.llvm.12965910548521623435\n+[14289](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 _head_lib64_libws2_32_a\n+[14290](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000685d8 SetFilePointerEx\n+[14291](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001828 anon.ccb22e4cd7fbcbc558a5e5a3f0337848.26.llvm.11601850474718555977\n+[14292](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000910 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.41.llvm.15558594833912929062\n+[14293](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000710 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.13.llvm.10362654779312666465\n+[14294](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __major_image_version__\n+[14295](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __section_alignment__\n+[14296](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686b8 GetSystemInfo\n+[14297](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006580 anon.bde97222c13a73c1114c64f571df7937.45.llvm.16760335183301466238\n+[14298](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_SetFileInformationByHandle\n+[14299](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000620 __imp_anon.613c2815b58d0fe89e530fd715781380.51.llvm.8111713219908570339\n+[14300](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000038a0 anon.14e8aa8ff63fa88c8acdb0adf657021d.33.llvm.5413364227057093393\n+[14301](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c80 __imp_anon.3f0cf08f2a28531d822fb6666d6454ce.2.llvm.14459211374459367874\n+[14302](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b08 anon.125b845408d80ffb3be797922b5dde7d.8.llvm.15618036608475994017\n+[14303](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000368 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.34.llvm.5413364227057093393\n+[14304](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_anon.613c2815b58d0fe89e530fd715781380.93.llvm.8111713219908570339\n+[14305](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d0 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.27.llvm.7969141108083497962\n+[14306](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.7.llvm.10362654779312666465\n+[14307](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009634 anon.a6a9d96e94134c7f8942c31c082ec88f.58.llvm.15558594833912929062\n+[14308](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp_anon.548af9b593bb376764255d41b66dd9ad.16.llvm.18313050272482191136\n+[14309](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000687e0 CreateWaitableTimerExW\n+[14310](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000680 __imp_CancelIo\n+[14311](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000076f0 anon.4e490f9e57c31783abc71684d8dd07fd.13.llvm.10362654779312666465\n+[14312](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_ReadFile\n+[14313](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007208 anon.613c2815b58d0fe89e530fd715781380.91.llvm.8111713219908570339\n+[14314](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 _ZN5alloc4sync18STATIC_INNER_SLICE17h86346c68f5ec9998E\n+[14315](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_anon.613c2815b58d0fe89e530fd715781380.87.llvm.8111713219908570339\n+[14316](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000200 __imp_anon.faa17738fd60f01f36928133f6f2e7da.2.llvm.7372912216135829142\n+[14317](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068728 GetFileInformationByHandleEx\n+[14318](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000027030 .refptr.__native_startup_state\n+[14319](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f70 anon.15032dc7f7815da06950c6c7f631ed3a.112.llvm.11878318536325309687\n+[14320](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068770 GetCurrentDirectoryW\n+[14321](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_SetThreadStackGuarantee\n+[14322](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1520 _Unwind_GetTextRelBase\n+[14323](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260a0 anon.68adf46199d381a3e7579e3039a486b2.34.llvm.16023864972203878572\n+[14324](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 ___crt_xl_start__\n+[14325](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2548 __DTOR_LIST__\n+[14326](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000498 __imp_anon.d09efb1a21878a6327720f5f05032caf.4.llvm.4759734605172953274\n+[14327](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006938 anon.bde97222c13a73c1114c64f571df7937.76.llvm.16760335183301466238\n+[14328](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e8 __imp_RtlCaptureContext\n+[14329](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000167c anon.ccb22e4cd7fbcbc558a5e5a3f0337848.11.llvm.11601850474718555977\n+[14330](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.38.llvm.12307589555557943707\n+[14331](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068720 GetFileType\n+[14332](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686d8 GetProcessHeap\n+[14333](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000915b anon.a6a9d96e94134c7f8942c31c082ec88f.2.llvm.15558594833912929062\n+[14334](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006193 anon.bde97222c13a73c1114c64f571df7937.7.llvm.16760335183301466238\n+[14335](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000618 __imp_anon.613c2815b58d0fe89e530fd715781380.50.llvm.8111713219908570339\n+[14336](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000072a8 anon.613c2815b58d0fe89e530fd715781380.102.llvm.8111713219908570339\n+[14337](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_ReadFileEx\n+[14338](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.15.llvm.11601850474718555977\n+[14339](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000598 __imp_anon.bde97222c13a73c1114c64f571df7937.75.llvm.16760335183301466238\n+[14340](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 _ZN3std9panicking4HOOK17h1cde4119db14dccfE\n+[14341](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.63.llvm.15558594833912929062\n+[14342](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016fa0 anon.951936ba3143fced68ee3304997d9e19.16.llvm.17612365085167486372\n+[14343](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 _ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h729b602ac07d7771E\n+[14344](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000250c anon.15032dc7f7815da06950c6c7f631ed3a.22.llvm.11878318536325309687\n+[14345](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000a898 anon.ca9c0bd954bf21a00ff37d225387af39.22.llvm.15540661059315109834\n+[14346](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026658 anon.3f0cf08f2a28531d822fb6666d6454ce.3.llvm.14459211374459367874\n+[14347](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006aa8 anon.613c2815b58d0fe89e530fd715781380.4.llvm.8111713219908570339\n+[14348](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_start__\n+[14349](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c24f0 VirtualProtect\n+[14350](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000073d0 anon.613c2815b58d0fe89e530fd715781380.117.llvm.8111713219908570339\n+[14351](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009590 anon.a6a9d96e94134c7f8942c31c082ec88f.49.llvm.15558594833912929062\n+[14352](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001438 anon.e378354099b4d9966b07b9681dbdc8a5.0.llvm.8477227672942286914\n+[14353](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000118 _ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17h263c7061702463a3E.0.llvm.5413364227057093393\n+[14354](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1408 setsockopt\n+[14355](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a20 __imp_anon.5881a944dab48172ce9ab4c31fb42b0d.18.llvm.2141283131302511399\n+[14356](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.10.llvm.10362654779312666465\n+[14357](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_GetUserProfileDirectoryW\n+[14358](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c8 __imp_anon.d6527d4515cb88f97b880ef9d8324e35.26.llvm.7969141108083497962\n+[14359](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026ff0 .refptr.__dyn_tls_init_callback\n+[14360](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_CopyFileExW\n+[14361](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000710 __imp_DeleteProcThreadAttributeList\n+[14362](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.41.llvm.12307589555557943707\n+[14363](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_image_version__\n+[14364](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026f98 .refptr._ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n+[14365](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 __imp__ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17h762d7cdd1d9bc612E.llvm.16023864972203878572\n+[14366](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_GetWindowsDirectoryW\n+[14367](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000338 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.2.llvm.5413364227057093393\n+[14368](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001d58 anon.471be997f5a6e6d1ae4ad33025e9150f.0.llvm.15379776895320610564\n+[14369](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000088 __imp__ZN3std3sys3pal7windows3net11WSA_CLEANUP17h4a5445fe5304220fE.llvm.8477227672942286914\n+[14370](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_GetLastError\n+[14371](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b30 __imp__ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017ha5d0c39293d82f99E\n+[14372](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003920 anon.14e8aa8ff63fa88c8acdb0adf657021d.36.llvm.5413364227057093393\n+[14373](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d8 __imp__ZN3std9panicking4HOOK17h1cde4119db14dccfE\n+[14374](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001f58 anon.471be997f5a6e6d1ae4ad33025e9150f.19.llvm.15379776895320610564\n+[14375](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000890 __imp_MapViewOfFile\n+[14376](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp_anon.02976793a46813507f59616fd1c9275e.30.llvm.16726422113796030662\n+[14377](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000260d0 _ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17h762d7cdd1d9bc612E.llvm.16023864972203878572\n+[14378](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_end__\n+[14379](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000095b8 anon.a6a9d96e94134c7f8942c31c082ec88f.50.llvm.15558594833912929062\n+[14380](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002195f anon.c2de6cb4ec0390263cdfd140df216a50.43.llvm.12307589555557943707\n+[14381](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000058b1 anon.d6527d4515cb88f97b880ef9d8324e35.79.llvm.7969141108083497962\n+[14382](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_VirtualProtect\n+[14383](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_CreateThread\n+[14384](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015b58 anon.125b845408d80ffb3be797922b5dde7d.11.llvm.15618036608475994017\n+[14385](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.22.llvm.11601850474718555977\n+[14386](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_NtWriteFile\n+[14387](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009240 anon.a6a9d96e94134c7f8942c31c082ec88f.7.llvm.15558594833912929062\n+[14388](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_start__\n+[14389](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e8 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.94.llvm.5413364227057093393\n+[14390](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f02 anon.613c2815b58d0fe89e530fd715781380.51.llvm.8111713219908570339\n+[14391](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.48.llvm.15558594833912929062\n+[14392](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.25.llvm.15558594833912929062\n+[14393](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000540 __imp_anon.bde97222c13a73c1114c64f571df7937.7.llvm.16760335183301466238\n+[14394](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a8 __imp__ZN3std2io5stdio6STDOUT17h90d2f6b9127964a8E.llvm.11878318536325309687\n+[14395](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068730 GetFileInformationByHandle\n+[14396](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1458 getpeername\n+[14397](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a4c __lib64_libntdll_a_iname\n+[14398](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000210 __imp_anon.faa17738fd60f01f36928133f6f2e7da.6.llvm.7372912216135829142\n+[14399](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a0 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.23.llvm.11878318536325309687\n+[14400](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001dd0 anon.471be997f5a6e6d1ae4ad33025e9150f.4.llvm.15379776895320610564\n+[14401](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_GetProcessHeap\n+[14402](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e8 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.26.llvm.15558594833912929062\n+[14403](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000330 __imp_anon.14e8aa8ff63fa88c8acdb0adf657021d.1.llvm.5413364227057093393\n+[14404](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002194f anon.c2de6cb4ec0390263cdfd140df216a50.38.llvm.12307589555557943707\n+[14405](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a58 __imp_strncmp\n+[14406](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000670 __imp_anon.613c2815b58d0fe89e530fd715781380.101.llvm.8111713219908570339\n+[14407](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000108 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.18.llvm.11601850474718555977\n+[14408](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000100 __imp_anon.ccb22e4cd7fbcbc558a5e5a3f0337848.17.llvm.11601850474718555977\n+[14409](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 _ZN3std2io5stdio6stderr8INSTANCE17h4966849e56562bc3E\n+[14410](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 _ZN3std4sync4mpmc5waker17current_thread_id5DUMMY28_$u7b$$u7b$closure$u7d$$u7d$3VAL17h787543b7a4af5d73E\n+[14411](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000988 __imp_TlsSetValue\n+[14412](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000026fd0 .refptr.__RUNTIME_PSEUDO_RELOC_LIST_END__\n+[14413](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001ec _tls_index\n+[14414](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000078c8 anon.4e490f9e57c31783abc71684d8dd07fd.28.llvm.10362654779312666465\n+[14415](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000658 __imp_WakeByAddressSingle\n+[14416](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a58 anon.4e490f9e57c31783abc71684d8dd07fd.41.llvm.10362654779312666465\n+[14417](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003868 anon.14e8aa8ff63fa88c8acdb0adf657021d.31.llvm.5413364227057093393\n+[14418](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000175ed anon.2d23cbceb7e4b258e81d2b77fc160d81.2.llvm.12965910548521623435\n+[14419](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_anon.a6a9d96e94134c7f8942c31c082ec88f.12.llvm.15558594833912929062\n+[14420](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021978 anon.c2de6cb4ec0390263cdfd140df216a50.52.llvm.12307589555557943707\n+[14421](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017550 anon.2d23cbceb7e4b258e81d2b77fc160d81.0.llvm.12965910548521623435\n+[14422](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_anon.ca9c0bd954bf21a00ff37d225387af39.20.llvm.15540661059315109834\n+[14423](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005f3c anon.b856ed75cf5d248ad8ab7df55ef82720.0.llvm.17494912285420036471\n+[14424](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_GetModuleHandleA\n+[14425](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020b0 anon.471be997f5a6e6d1ae4ad33025e9150f.31.llvm.15379776895320610564\n+[14426](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_memmove\n+[14427](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000686c8 GetStdHandle\n+[14428](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000092e3 anon.a6a9d96e94134c7f8942c31c082ec88f.20.llvm.15558594833912929062\n+[14429](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __IAT_start__\n+[14430](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000718 __imp_DeviceIoControl\n+[14431](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xc_end__\n+[14432](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2530 __CTOR_LIST__\n+[14433](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c48 __imp_anon.68adf46199d381a3e7579e3039a486b2.34.llvm.16023864972203878572\n+[14434](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068570 TlsSetValue\n+[14435](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a56 anon.14e8aa8ff63fa88c8acdb0adf657021d.44.llvm.5413364227057093393\n+[14436](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_GetExitCodeProcess\n+[14437](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp___iob_func\n+[14438](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000268 __imp__ZN3std6thread7Builder16spawn_unchecked_28_$u7b$$u7b$closure$u7d$$u7d$3MIN17hf04a1cb9d6d18440E\n+[14439](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_start__\n+[14440](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a48 anon.613c2815b58d0fe89e530fd715781380.1.llvm.8111713219908570339\n+[14441](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017b90 anon.548af9b593bb376764255d41b66dd9ad.0.llvm.18313050272482191136\n+[14442](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_anon.c2de6cb4ec0390263cdfd140df216a50.42.llvm.12307589555557943707\n+[14443](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000168 __imp_anon.471be997f5a6e6d1ae4ad33025e9150f.0.llvm.15379776895320610564\n+[14444](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000770 __imp__ZN3std6thread7current7CURRENT17h8bf2baecdd8820fcE\n+[14445](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009333 anon.a6a9d96e94134c7f8942c31c082ec88f.26.llvm.15558594833912929062\n+[14446](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068678 InitOnceComplete\n+[14447](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002f48 anon.15032dc7f7815da06950c6c7f631ed3a.111.llvm.11878318536325309687\n+[14448](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c13f0 GetUserProfileDirectoryW\n+[14449](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c16c8 _initterm\n+[14450](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a20 __imp_fwrite\n+[14451](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c1410 sendto\n+[14452](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf0 __imp__ZN4core7unicode12unicode_data9lowercase14BITSET_MAPPING17h072394f02e1c6521E\n+[14453](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_vfprintf\n+[14454](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c14e0 WakeByAddressSingle\n+[14455](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000068688 HeapReAlloc\n+[14456](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000008c _head_libgcc_s_seh_1_dll\n+[14457](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000270 __imp_anon.15032dc7f7815da06950c6c7f631ed3a.12.llvm.11878318536325309687\n+[14458](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_anon.4e490f9e57c31783abc71684d8dd07fd.39.llvm.10362654779312666465\n+[14459](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_anon.613c2815b58d0fe89e530fd715781380.102.llvm.8111713219908570339\n+[14460](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab8 __imp_WSAGetLastError\n [14461](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007468 anon.4e490f9e57c31783abc71684d8dd07fd.1.llvm.10362654779312666465\n [14462](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000016dc anon.ccb22e4cd7fbcbc558a5e5a3f0337848.14.llvm.11601850474718555977\n [14463](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000009354 anon.a6a9d96e94134c7f8942c31c082ec88f.28.llvm.15558594833912929062\n [14464](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_anon.548af9b593bb376764255d41b66dd9ad.11.llvm.18313050272482191136\n [14465](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c16e8 free\n [14466](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003530 anon.14e8aa8ff63fa88c8acdb0adf657021d.1.llvm.5413364227057093393\n [14467](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d00 __data_end__\n@@ -3213812,26 +3213812,26 @@\n 18096461d:\tjo 180964680 <__bss_end__+0x2e3d0>\n 18096461f:\toutsb %ds:(%rsi),(%dx)\n 180964620:\t.byte 0x69\n 180964621:\tmovsxd (%rax),%eax\n \n Disassembly of section .idata:\n \n-0000000180965000 <_head__tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib>:\n+0000000180965000 <_head__tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib>:\n 180965000:\tmov $0x9650,%eax\n 180965005:\tadd %al,(%rax)\n 180965007:\tadd %al,(%rax)\n 180965009:\tadd %al,(%rax)\n 18096500b:\tadd %ch,%ah\n 18096500d:\taddr32 xchg %eax,%esi\n 18096500f:\tadd %cl,0x56(%rax)\n 180965012:\txchg %eax,%esi\n \t...\n \n-0000000180965014 <_head__tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib>:\n+0000000180965014 <_head__tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib>:\n 180965014:\tfcoms -0x6a(%rax)\n \t...\n 18096501f:\tadd %dl,(%rax,%rbp,2)\n 180965022:\txchg %eax,%esi\n 180965023:\tadd %ch,0x56(%rax)\n 180965026:\txchg %eax,%esi\n \t...\n@@ -3217653,38 +3217653,38 @@\n 180966777:\tpush %rbp\n 180966778:\toutsb %ds:(%rsi),(%dx)\n 180966779:\tja 1809667e4 <.idata$7>\n 18096677b:\toutsb %ds:(%rsi),(%dx)\n 18096677c:\tfs pop %rdi\n 18096677e:\trex.RXB\n 18096677f:\tgs je 1809667d6 <.idata$6+0x6>\n- 180966782:\tgs js 1809667f9 <___tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0xd>\n+ 180966782:\tgs js 1809667f9 <___tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0xd>\n 180966785:\tpush %rdx\n 180966786:\tgs insb (%dx),%es:(%rdi)\n 180966788:\trex.X (bad)\n- 18096678a:\tjae 1809667f1 <___tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0x5>\n+ 18096678a:\tjae 1809667f1 <___tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0x5>\n 18096678c:\tadd %al,(%rax)\n \t...\n \n 0000000180966790 <.idata$6>:\n 180966790:\tor $0x6e555f00,%eax\n- 180966795:\tja 180966800 <___tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0x14>\n+ 180966795:\tja 180966800 <___tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname+0x14>\n 180966797:\toutsb %ds:(%rsi),(%dx)\n 180966798:\tfs pop %rdi\n 18096679a:\tpush %rdx\n 18096679b:\t(bad)\n 18096679c:\timul $0x65637845,0x65(%rbx),%esi\n- 1809667a3:\tjo 180966819 <___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname+0x5>\n+ 1809667a3:\tjo 180966819 <___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname+0x5>\n 1809667a5:\timul $0x0,0x6e(%rdi),%ebp\n \n 00000001809667ac <.idata$6>:\n 1809667ac:\t(bad)\n 1809667ad:\tadd %bl,0x55(%rdi)\n 1809667b0:\toutsb %ds:(%rsi),(%dx)\n- 1809667b1:\tja 18096681c <___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname+0x8>\n+ 1809667b1:\tja 18096681c <___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname+0x8>\n 1809667b3:\toutsb %ds:(%rsi),(%dx)\n 1809667b4:\tfs pop %rdi\n 1809667b6:\tpush %rdx\n 1809667b7:\tgs jae 18096682f <.idata$7+0x3>\n 1809667ba:\tinsl (%dx),%es:(%rdi)\n 1809667bb:\tadd %al,%gs:(%rax)\n \t...\n@@ -3217694,28 +3217694,28 @@\n 1809667c2:\tpop %rdi\n 1809667c3:\tpush %rbp\n 1809667c4:\toutsb %ds:(%rsi),(%dx)\n 1809667c5:\tja 180966830 <.idata$7>\n 1809667c7:\toutsb %ds:(%rsi),(%dx)\n 1809667c8:\tfs pop %rdi\n 1809667ca:\tpush %rbx\n- 1809667cb:\tgs je 180966815 <___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname+0x1>\n+ 1809667cb:\tgs je 180966815 <___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname+0x1>\n 1809667ce:\tpush %rdx\n \t...\n \n 00000001809667d0 <.idata$6>:\n 1809667d0:\tadc %eax,(%rax)\n 1809667d2:\tpop %rdi\n 1809667d3:\tpush %rbp\n 1809667d4:\toutsb %ds:(%rsi),(%dx)\n 1809667d5:\tja 180966840 <.idata$7>\n 1809667d7:\toutsb %ds:(%rsi),(%dx)\n 1809667d8:\tfs pop %rdi\n 1809667da:\tpush %rbx\n- 1809667db:\tgs je 180966827 <___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname+0x13>\n+ 1809667db:\tgs je 180966827 <___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname+0x13>\n 1809667de:\tpush %rax\n \t...\n \n 00000001809667e0 <.idata$7>:\n 1809667e0:\tadd %dl,-0x6a(%rax)\n \t...\n \n@@ -3217723,15 +3217723,15 @@\n 1809667e4:\tadd %dl,-0x6a(%rax)\n \t...\n \n 00000001809667e8 <.idata$7>:\n 1809667e8:\tadd %dl,-0x6a(%rax)\n \t...\n \n-00000001809667ec <___tmp_rustcAh9OqK_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname>:\n+00000001809667ec <___tmp_rustc1vdBO4_api_ms_win_core_synch_l1_2_0_dll_imports_lib_iname>:\n 1809667ec:\t(bad)\n 1809667ed:\tjo 180966858 <.idata$7>\n 1809667ef:\tsub $0x772d736d,%eax\n 1809667f4:\timul $0x65726f63,0x2d(%rsi),%ebp\n 1809667fb:\tsub $0x636e7973,%eax\n 180966800:\tpush $0x2d316c2d\n 180966805:\txor 0x6c642e30(%rip),%ch # 1ecfa963b <.debug_rnglists+0x6b6f757b>\n@@ -3217740,15 +3217740,15 @@\n \t...\n \n 0000000180966810 <.idata$7>:\n 180966810:\tadc $0x50,%al\n 180966812:\txchg %eax,%esi\n \t...\n \n-0000000180966814 <___tmp_rustcAh9OqK_bcryptprimitives_dll_imports_lib_iname>:\n+0000000180966814 <___tmp_rustc1vdBO4_bcryptprimitives_dll_imports_lib_iname>:\n 180966814:\t(bad)\n 180966819:\tje 18096688b <.idata$7+0x3>\n 18096681b:\tjb 180966886 <.idata$7+0x2>\n 18096681d:\tinsl (%dx),%es:(%rdi)\n 18096681e:\timul $0x642e7365,0x76(%rcx,%rbp,2),%esi\n 180966826:\tinsb (%dx),%es:(%rdi)\n 180966827:\tinsb (%dx),%es:(%rdi)\n@@ -4194295,8 +4194295,8 @@\n 180bc67a1:\t(bad)\n 180bc67a2:\tmov %es,(%rdx)\n 180bc67a4:\taddb $0x0,(%rcx)\n 180bc67a7:\tadd %al,(%rax)\n 180bc67a9:\tsldt (%rax)\n 180bc67ac:\tadd %dl,(%rsi,%rdi,1)\n 180bc67af:\tadd (%rcx),%al\n-[ Too much input for diff (SHA256: 5013fed9a6b8dfc740c5f15f76538dc24fd51b418887054906618706b071ba71) ]\n+[ Too much input for diff (SHA256: d65c70d5fc3579778a583048187b245fe6c9917229dedf4994fea696b2a2290e) ]\n"}]}]}]}]}, {"source1": "rust-doc_1.83.0+dfsg1-1_all.deb", "source2": "rust-doc_1.83.0+dfsg1-1_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-12-04 17:07:54.000000 debian-binary\n--rw-r--r-- 0 0 0 939220 2024-12-04 17:07:54.000000 control.tar.xz\n--rw-r--r-- 0 0 0 21283624 2024-12-04 17:07:54.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 939028 2024-12-04 17:07:54.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 21134640 2024-12-04 17:07:54.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-doc\n Source: rustc\n Version: 1.83.0+dfsg1-1\n Architecture: all\n Maintainer: Debian Rust Maintainers \n-Installed-Size: 619294\n+Installed-Size: 621336\n Depends: libjs-jquery, libjs-highlight.js, libjs-mathjax, fonts-open-sans, fonts-font-awesome\n Recommends: cargo-doc\n Section: doc\n Priority: optional\n Homepage: http://www.rust-lang.org/\n Description: Rust systems programming language - Documentation\n Rust is a curly-brace, block-structured expression language. It\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": "@@ -6,53 +6,53 @@\n -rw-r--r-- 0 root (0) root (0) 9255 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 196076 2024-11-26 10:12:09.000000 ./usr/share/doc/rust-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 139026 2024-12-04 17:07:09.000000 ./usr/share/doc/rust-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/\n -rw-r--r-- 0 root (0) root (0) 19022 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/all.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 6410 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html\n--rw-r--r-- 0 root (0) root (0) 6165 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc_zeroed.html\n--rw-r--r-- 0 root (0) root (0) 4915 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.dealloc.html\n--rw-r--r-- 0 root (0) root (0) 5378 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.handle_alloc_error.html\n--rw-r--r-- 0 root (0) root (0) 5133 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.realloc.html\n+-rw-r--r-- 0 root (0) root (0) 6464 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html\n+-rw-r--r-- 0 root (0) root (0) 6219 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc_zeroed.html\n+-rw-r--r-- 0 root (0) root (0) 4969 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.dealloc.html\n+-rw-r--r-- 0 root (0) root (0) 5459 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.handle_alloc_error.html\n+-rw-r--r-- 0 root (0) root (0) 5268 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.realloc.html\n -rw-r--r-- 0 root (0) root (0) 7762 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 209 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 36761 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.AllocError.html\n--rw-r--r-- 0 root (0) root (0) 38792 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Global.html\n--rw-r--r-- 0 root (0) root (0) 60629 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Layout.html\n--rw-r--r-- 0 root (0) root (0) 38626 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.LayoutError.html\n--rw-r--r-- 0 root (0) root (0) 33897 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.Allocator.html\n--rw-r--r-- 0 root (0) root (0) 24121 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.GlobalAlloc.html\n--rw-r--r-- 0 root (0) root (0) 4160 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/type.LayoutErr.html\n+-rw-r--r-- 0 root (0) root (0) 39866 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.AllocError.html\n+-rw-r--r-- 0 root (0) root (0) 41546 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Global.html\n+-rw-r--r-- 0 root (0) root (0) 64706 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Layout.html\n+-rw-r--r-- 0 root (0) root (0) 41731 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.LayoutError.html\n+-rw-r--r-- 0 root (0) root (0) 35571 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.Allocator.html\n+-rw-r--r-- 0 root (0) root (0) 24850 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.GlobalAlloc.html\n+-rw-r--r-- 0 root (0) root (0) 4187 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/type.LayoutErr.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/\n--rw-r--r-- 0 root (0) root (0) 174890 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/enum.Cow.html\n+-rw-r--r-- 0 root (0) root (0) 187445 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/enum.Cow.html\n -rw-r--r-- 0 root (0) root (0) 4776 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/index.html\n -rw-r--r-- 0 root (0) root (0) 81 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 24196 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.Borrow.html\n--rw-r--r-- 0 root (0) root (0) 10933 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.BorrowMut.html\n--rw-r--r-- 0 root (0) root (0) 14233 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.ToOwned.html\n+-rw-r--r-- 0 root (0) root (0) 24925 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.Borrow.html\n+-rw-r--r-- 0 root (0) root (0) 11392 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.BorrowMut.html\n+-rw-r--r-- 0 root (0) root (0) 14395 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.ToOwned.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/\n--rw-r--r-- 0 root (0) root (0) 18466 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/index.html\n+-rw-r--r-- 0 root (0) root (0) 18547 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/index.html\n -rw-r--r-- 0 root (0) root (0) 52 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 519664 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html\n--rw-r--r-- 0 root (0) root (0) 42054 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.ThinBox.html\n+-rw-r--r-- 0 root (0) root (0) 559273 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html\n+-rw-r--r-- 0 root (0) root (0) 44943 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/thin/\n -rw-r--r-- 0 root (0) root (0) 432 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/thin/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/\n -rw-r--r-- 0 root (0) root (0) 19560 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/index.html\n -rw-r--r-- 0 root (0) root (0) 116 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 127900 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n--rw-r--r-- 0 root (0) root (0) 149271 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 138325 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n--rw-r--r-- 0 root (0) root (0) 159246 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 144333 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n--rw-r--r-- 0 root (0) root (0) 154871 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 29457 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n+-rw-r--r-- 0 root (0) root (0) 132148 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n+-rw-r--r-- 0 root (0) root (0) 166599 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 154261 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n+-rw-r--r-- 0 root (0) root (0) 177198 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 160725 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n+-rw-r--r-- 0 root (0) root (0) 172655 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 31281 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/\n -rw-r--r-- 0 root (0) root (0) 504 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 544 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\n -rw-r--r-- 0 root (0) root (0) 544 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/struct.OccupiedError.html\n -rw-r--r-- 0 root (0) root (0) 536 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/struct.VacantEntry.html\n@@ -82,260 +82,260 @@\n -rw-r--r-- 0 root (0) root (0) 528 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Intersection.html\n -rw-r--r-- 0 root (0) root (0) 512 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 496 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Iter.html\n -rw-r--r-- 0 root (0) root (0) 500 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Range.html\n -rw-r--r-- 0 root (0) root (0) 556 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.SymmetricDifference.html\n -rw-r--r-- 0 root (0) root (0) 500 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Union.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/\n--rw-r--r-- 0 root (0) root (0) 38793 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/enum.Entry.html\n+-rw-r--r-- 0 root (0) root (0) 40833 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 10396 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/index.html\n -rw-r--r-- 0 root (0) root (0) 277 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 208884 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n--rw-r--r-- 0 root (0) root (0) 33767 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 40275 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 39554 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n--rw-r--r-- 0 root (0) root (0) 133837 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 153475 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 152567 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n--rw-r--r-- 0 root (0) root (0) 151089 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n--rw-r--r-- 0 root (0) root (0) 158232 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 151064 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 157428 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Keys.html\n--rw-r--r-- 0 root (0) root (0) 39700 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n--rw-r--r-- 0 root (0) root (0) 33527 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n--rw-r--r-- 0 root (0) root (0) 153997 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 146824 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n--rw-r--r-- 0 root (0) root (0) 37762 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n--rw-r--r-- 0 root (0) root (0) 29607 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n--rw-r--r-- 0 root (0) root (0) 155646 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Values.html\n--rw-r--r-- 0 root (0) root (0) 148481 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n+-rw-r--r-- 0 root (0) root (0) 218868 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n+-rw-r--r-- 0 root (0) root (0) 35903 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 42363 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 41642 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n+-rw-r--r-- 0 root (0) root (0) 149989 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 171379 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 170375 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n+-rw-r--r-- 0 root (0) root (0) 168705 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n+-rw-r--r-- 0 root (0) root (0) 176592 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 168872 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 175596 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Keys.html\n+-rw-r--r-- 0 root (0) root (0) 41500 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n+-rw-r--r-- 0 root (0) root (0) 35711 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n+-rw-r--r-- 0 root (0) root (0) 171925 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 164200 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n+-rw-r--r-- 0 root (0) root (0) 40090 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n+-rw-r--r-- 0 root (0) root (0) 31383 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n+-rw-r--r-- 0 root (0) root (0) 173526 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Values.html\n+-rw-r--r-- 0 root (0) root (0) 165809 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/\n -rw-r--r-- 0 root (0) root (0) 8071 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/index.html\n -rw-r--r-- 0 root (0) root (0) 199 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 182759 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n--rw-r--r-- 0 root (0) root (0) 32785 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 39055 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 38336 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html\n--rw-r--r-- 0 root (0) root (0) 140153 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Difference.html\n--rw-r--r-- 0 root (0) root (0) 133221 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 140291 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Intersection.html\n--rw-r--r-- 0 root (0) root (0) 150891 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 156684 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 152489 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 138896 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n--rw-r--r-- 0 root (0) root (0) 137920 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Union.html\n--rw-r--r-- 0 root (0) root (0) 37983 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html\n--rw-r--r-- 0 root (0) root (0) 35001 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n+-rw-r--r-- 0 root (0) root (0) 191327 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n+-rw-r--r-- 0 root (0) root (0) 34753 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 40927 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 40208 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html\n+-rw-r--r-- 0 root (0) root (0) 156449 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Difference.html\n+-rw-r--r-- 0 root (0) root (0) 149205 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 156587 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Intersection.html\n+-rw-r--r-- 0 root (0) root (0) 168507 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 174756 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 170129 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 154976 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n+-rw-r--r-- 0 root (0) root (0) 154000 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Union.html\n+-rw-r--r-- 0 root (0) root (0) 40311 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html\n+-rw-r--r-- 0 root (0) root (0) 37215 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n -rw-r--r-- 0 root (0) root (0) 7163 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/\n -rw-r--r-- 0 root (0) root (0) 6363 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/index.html\n -rw-r--r-- 0 root (0) root (0) 110 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 39106 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 53257 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 130813 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 157502 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 155080 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 147558 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 130910 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n+-rw-r--r-- 0 root (0) root (0) 41242 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 55249 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 146413 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 175430 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 172888 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 164862 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 136766 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n -rw-r--r-- 0 root (0) root (0) 157 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 40081 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/struct.TryReserveError.html\n+-rw-r--r-- 0 root (0) root (0) 42808 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/struct.TryReserveError.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/drain/\n -rw-r--r-- 0 root (0) root (0) 500 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/drain/struct.Drain.html\n -rw-r--r-- 0 root (0) root (0) 5518 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/into_iter/\n -rw-r--r-- 0 root (0) root (0) 512 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/into_iter/struct.IntoIter.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter/\n -rw-r--r-- 0 root (0) root (0) 496 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter/struct.Iter.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter_mut/\n -rw-r--r-- 0 root (0) root (0) 508 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter_mut/struct.IterMut.html\n -rw-r--r-- 0 root (0) root (0) 83 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 149532 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 154990 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 154610 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 147724 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 240482 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n+-rw-r--r-- 0 root (0) root (0) 166932 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 172486 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 172154 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 164740 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 249890 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/\n -rw-r--r-- 0 root (0) root (0) 5634 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/index.html\n -rw-r--r-- 0 root (0) root (0) 97 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 133660 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.CString.html\n--rw-r--r-- 0 root (0) root (0) 43727 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n--rw-r--r-- 0 root (0) root (0) 40237 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n--rw-r--r-- 0 root (0) root (0) 42006 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.NulError.html\n--rw-r--r-- 0 root (0) root (0) 10959 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/index.html\n+-rw-r--r-- 0 root (0) root (0) 140164 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 46127 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n+-rw-r--r-- 0 root (0) root (0) 42517 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n+-rw-r--r-- 0 root (0) root (0) 44358 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.NulError.html\n+-rw-r--r-- 0 root (0) root (0) 11202 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/index.html\n -rw-r--r-- 0 root (0) root (0) 62 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 131932 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 139249 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.CString.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/\n--rw-r--r-- 0 root (0) root (0) 3617 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/derive.Debug.html\n--rw-r--r-- 0 root (0) root (0) 30844 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html\n--rw-r--r-- 0 root (0) root (0) 5915 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.format.html\n--rw-r--r-- 0 root (0) root (0) 6568 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html\n--rw-r--r-- 0 root (0) root (0) 6731 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html\n--rw-r--r-- 0 root (0) root (0) 64288 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/index.html\n+-rw-r--r-- 0 root (0) root (0) 3644 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/derive.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 33301 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html\n+-rw-r--r-- 0 root (0) root (0) 5942 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.format.html\n+-rw-r--r-- 0 root (0) root (0) 6676 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html\n+-rw-r--r-- 0 root (0) root (0) 6839 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html\n+-rw-r--r-- 0 root (0) root (0) 64558 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/index.html\n -rw-r--r-- 0 root (0) root (0) 337 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 37051 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html\n--rw-r--r-- 0 root (0) root (0) 34297 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugList.html\n--rw-r--r-- 0 root (0) root (0) 44362 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugMap.html\n--rw-r--r-- 0 root (0) root (0) 34388 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugSet.html\n--rw-r--r-- 0 root (0) root (0) 32844 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugStruct.html\n--rw-r--r-- 0 root (0) root (0) 31581 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugTuple.html\n--rw-r--r-- 0 root (0) root (0) 51638 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Error.html\n--rw-r--r-- 0 root (0) root (0) 79373 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Formatter.html\n--rw-r--r-- 0 root (0) root (0) 25632 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FromFn.html\n--rw-r--r-- 0 root (0) root (0) 20215 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Binary.html\n--rw-r--r-- 0 root (0) root (0) 259506 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Debug.html\n--rw-r--r-- 0 root (0) root (0) 61215 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html\n--rw-r--r-- 0 root (0) root (0) 17913 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html\n--rw-r--r-- 0 root (0) root (0) 19700 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html\n--rw-r--r-- 0 root (0) root (0) 19317 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html\n--rw-r--r-- 0 root (0) root (0) 17639 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Pointer.html\n--rw-r--r-- 0 root (0) root (0) 17914 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html\n--rw-r--r-- 0 root (0) root (0) 19700 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html\n--rw-r--r-- 0 root (0) root (0) 16496 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html\n--rw-r--r-- 0 root (0) root (0) 7405 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/type.Result.html\n--rw-r--r-- 0 root (0) root (0) 11155 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/index.html\n+-rw-r--r-- 0 root (0) root (0) 39508 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html\n+-rw-r--r-- 0 root (0) root (0) 36160 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugList.html\n+-rw-r--r-- 0 root (0) root (0) 46414 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugMap.html\n+-rw-r--r-- 0 root (0) root (0) 36251 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugSet.html\n+-rw-r--r-- 0 root (0) root (0) 34707 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugStruct.html\n+-rw-r--r-- 0 root (0) root (0) 33390 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugTuple.html\n+-rw-r--r-- 0 root (0) root (0) 56525 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Error.html\n+-rw-r--r-- 0 root (0) root (0) 82532 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Formatter.html\n+-rw-r--r-- 0 root (0) root (0) 27765 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FromFn.html\n+-rw-r--r-- 0 root (0) root (0) 21538 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Binary.html\n+-rw-r--r-- 0 root (0) root (0) 276732 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 65319 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html\n+-rw-r--r-- 0 root (0) root (0) 19047 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html\n+-rw-r--r-- 0 root (0) root (0) 20915 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html\n+-rw-r--r-- 0 root (0) root (0) 20532 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html\n+-rw-r--r-- 0 root (0) root (0) 18503 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Pointer.html\n+-rw-r--r-- 0 root (0) root (0) 19048 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html\n+-rw-r--r-- 0 root (0) root (0) 20915 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html\n+-rw-r--r-- 0 root (0) root (0) 17252 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html\n+-rw-r--r-- 0 root (0) root (0) 7540 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/type.Result.html\n+-rw-r--r-- 0 root (0) root (0) 11215 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 340 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format!.html\n--rw-r--r-- 0 root (0) root (0) 7146 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format.html\n+-rw-r--r-- 0 root (0) root (0) 7236 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format.html\n -rw-r--r-- 0 root (0) root (0) 328 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec!.html\n--rw-r--r-- 0 root (0) root (0) 6462 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec.html\n+-rw-r--r-- 0 root (0) root (0) 6492 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/\n--rw-r--r-- 0 root (0) root (0) 25440 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/index.html\n+-rw-r--r-- 0 root (0) root (0) 25710 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/index.html\n -rw-r--r-- 0 root (0) root (0) 59 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 236263 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Rc.html\n--rw-r--r-- 0 root (0) root (0) 38920 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.UniqueRc.html\n--rw-r--r-- 0 root (0) root (0) 70139 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 245524 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Rc.html\n+-rw-r--r-- 0 root (0) root (0) 41188 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.UniqueRc.html\n+-rw-r--r-- 0 root (0) root (0) 73217 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html\n -rw-r--r-- 0 root (0) root (0) 157 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sidebar-items1.83.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/\n--rw-r--r-- 0 root (0) root (0) 3856 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut.html\n--rw-r--r-- 0 root (0) root (0) 8287 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 7814 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 13547 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 6239 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 3848 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ref.html\n--rw-r--r-- 0 root (0) root (0) 9528 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.range.html\n--rw-r--r-- 0 root (0) root (0) 7990 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html\n--rw-r--r-- 0 root (0) root (0) 16208 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/index.html\n+-rw-r--r-- 0 root (0) root (0) 3937 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut.html\n+-rw-r--r-- 0 root (0) root (0) 8503 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 8030 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 13736 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 6428 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 3929 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ref.html\n+-rw-r--r-- 0 root (0) root (0) 9906 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.range.html\n+-rw-r--r-- 0 root (0) root (0) 8287 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html\n+-rw-r--r-- 0 root (0) root (0) 16289 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/index.html\n -rw-r--r-- 0 root (0) root (0) 539 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 157566 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunks.html\n--rw-r--r-- 0 root (0) root (0) 149015 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 153978 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayWindows.html\n--rw-r--r-- 0 root (0) root (0) 142343 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkBy.html\n--rw-r--r-- 0 root (0) root (0) 142265 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkByMut.html\n--rw-r--r-- 0 root (0) root (0) 154290 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Chunks.html\n--rw-r--r-- 0 root (0) root (0) 158413 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 147817 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 145634 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 149483 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.EscapeAscii.html\n--rw-r--r-- 0 root (0) root (0) 161520 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 161745 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 154395 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunks.html\n--rw-r--r-- 0 root (0) root (0) 158525 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 147899 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 145732 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 151115 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 142772 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitMut.html\n--rw-r--r-- 0 root (0) root (0) 131697 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 130898 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 153826 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 151811 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 143458 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n--rw-r--r-- 0 root (0) root (0) 142652 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitMut.html\n--rw-r--r-- 0 root (0) root (0) 131562 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 130763 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 154133 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Windows.html\n--rw-r--r-- 0 root (0) root (0) 11703 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Concat.html\n--rw-r--r-- 0 root (0) root (0) 10734 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html\n--rw-r--r-- 0 root (0) root (0) 48171 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.SliceIndex.html\n+-rw-r--r-- 0 root (0) root (0) 178734 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunks.html\n+-rw-r--r-- 0 root (0) root (0) 169400 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 174795 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayWindows.html\n+-rw-r--r-- 0 root (0) root (0) 162188 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkBy.html\n+-rw-r--r-- 0 root (0) root (0) 162056 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkByMut.html\n+-rw-r--r-- 0 root (0) root (0) 174945 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 179149 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 167851 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 165587 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 169463 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.EscapeAscii.html\n+-rw-r--r-- 0 root (0) root (0) 182769 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 182400 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 175050 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunks.html\n+-rw-r--r-- 0 root (0) root (0) 179261 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 167933 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 165685 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 171716 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 162590 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 149868 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 149015 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 174589 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 172412 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 163276 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n+-rw-r--r-- 0 root (0) root (0) 162470 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 149733 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 148880 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 174788 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Windows.html\n+-rw-r--r-- 0 root (0) root (0) 11946 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Concat.html\n+-rw-r--r-- 0 root (0) root (0) 11085 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html\n+-rw-r--r-- 0 root (0) root (0) 52410 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.SliceIndex.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/\n--rw-r--r-- 0 root (0) root (0) 5255 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 4757 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 4800 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 9583 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8.html\n--rw-r--r-- 0 root (0) root (0) 7005 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_mut.html\n--rw-r--r-- 0 root (0) root (0) 5654 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 5451 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n--rw-r--r-- 0 root (0) root (0) 15596 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/index.html\n+-rw-r--r-- 0 root (0) root (0) 5309 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 4892 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 4935 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 9826 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8.html\n+-rw-r--r-- 0 root (0) root (0) 7113 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_mut.html\n+-rw-r--r-- 0 root (0) root (0) 5735 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 5532 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n+-rw-r--r-- 0 root (0) root (0) 16163 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/\n--rw-r--r-- 0 root (0) root (0) 32782 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html\n--rw-r--r-- 0 root (0) root (0) 12296 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/index.html\n+-rw-r--r-- 0 root (0) root (0) 35158 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html\n+-rw-r--r-- 0 root (0) root (0) 12440 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/index.html\n -rw-r--r-- 0 root (0) root (0) 245 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 38815 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n--rw-r--r-- 0 root (0) root (0) 38358 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n--rw-r--r-- 0 root (0) root (0) 40572 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n--rw-r--r-- 0 root (0) root (0) 36849 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSearcher.html\n--rw-r--r-- 0 root (0) root (0) 37459 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n--rw-r--r-- 0 root (0) root (0) 36258 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.StrSearcher.html\n--rw-r--r-- 0 root (0) root (0) 9775 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n--rw-r--r-- 0 root (0) root (0) 37291 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Pattern.html\n--rw-r--r-- 0 root (0) root (0) 15819 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n--rw-r--r-- 0 root (0) root (0) 17281 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Searcher.html\n+-rw-r--r-- 0 root (0) root (0) 41479 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 41022 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n+-rw-r--r-- 0 root (0) root (0) 43548 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 39225 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 39835 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 38610 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.StrSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 10087 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 38995 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Pattern.html\n+-rw-r--r-- 0 root (0) root (0) 16467 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 18025 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Searcher.html\n -rw-r--r-- 0 root (0) root (0) 569 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 151083 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Bytes.html\n--rw-r--r-- 0 root (0) root (0) 151460 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.CharIndices.html\n--rw-r--r-- 0 root (0) root (0) 147909 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Chars.html\n--rw-r--r-- 0 root (0) root (0) 134985 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EncodeUtf16.html\n--rw-r--r-- 0 root (0) root (0) 138158 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDebug.html\n--rw-r--r-- 0 root (0) root (0) 138346 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDefault.html\n--rw-r--r-- 0 root (0) root (0) 138346 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeUnicode.html\n--rw-r--r-- 0 root (0) root (0) 148625 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Lines.html\n--rw-r--r-- 0 root (0) root (0) 146336 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.LinesAny.html\n--rw-r--r-- 0 root (0) root (0) 147891 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.MatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 147161 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Matches.html\n--rw-r--r-- 0 root (0) root (0) 36946 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.ParseBoolError.html\n--rw-r--r-- 0 root (0) root (0) 149270 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 148540 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatches.html\n--rw-r--r-- 0 root (0) root (0) 151478 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 142360 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 152319 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 150092 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 150259 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 151413 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 140979 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 150933 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 149701 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 33985 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunk.html\n--rw-r--r-- 0 root (0) root (0) 136869 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunks.html\n--rw-r--r-- 0 root (0) root (0) 44469 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Error.html\n--rw-r--r-- 0 root (0) root (0) 51499 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/trait.FromStr.html\n+-rw-r--r-- 0 root (0) root (0) 171630 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Bytes.html\n+-rw-r--r-- 0 root (0) root (0) 171602 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.CharIndices.html\n+-rw-r--r-- 0 root (0) root (0) 167862 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Chars.html\n+-rw-r--r-- 0 root (0) root (0) 153291 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EncodeUtf16.html\n+-rw-r--r-- 0 root (0) root (0) 156572 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDebug.html\n+-rw-r--r-- 0 root (0) root (0) 156760 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDefault.html\n+-rw-r--r-- 0 root (0) root (0) 156760 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeUnicode.html\n+-rw-r--r-- 0 root (0) root (0) 168605 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Lines.html\n+-rw-r--r-- 0 root (0) root (0) 166208 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.LinesAny.html\n+-rw-r--r-- 0 root (0) root (0) 167466 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.MatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 166628 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Matches.html\n+-rw-r--r-- 0 root (0) root (0) 39997 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.ParseBoolError.html\n+-rw-r--r-- 0 root (0) root (0) 168845 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 168007 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatches.html\n+-rw-r--r-- 0 root (0) root (0) 171053 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 160747 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 171894 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 169667 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 170239 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 171015 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 159366 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 170508 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 169681 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 36577 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunk.html\n+-rw-r--r-- 0 root (0) root (0) 155067 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 47763 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 55873 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/str/trait.FromStr.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/\n--rw-r--r-- 0 root (0) root (0) 9296 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/index.html\n+-rw-r--r-- 0 root (0) root (0) 9323 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/index.html\n -rw-r--r-- 0 root (0) root (0) 129 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 144493 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 28285 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf16Error.html\n--rw-r--r-- 0 root (0) root (0) 47923 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf8Error.html\n--rw-r--r-- 0 root (0) root (0) 568966 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.String.html\n--rw-r--r-- 0 root (0) root (0) 7131 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/trait.ToString.html\n--rw-r--r-- 0 root (0) root (0) 4444 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/type.ParseError.html\n+-rw-r--r-- 0 root (0) root (0) 163582 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 30229 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf16Error.html\n+-rw-r--r-- 0 root (0) root (0) 50758 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 593050 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.String.html\n+-rw-r--r-- 0 root (0) root (0) 7158 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/trait.ToString.html\n+-rw-r--r-- 0 root (0) root (0) 4498 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/string/type.ParseError.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/\n--rw-r--r-- 0 root (0) root (0) 5121 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/index.html\n+-rw-r--r-- 0 root (0) root (0) 5148 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/index.html\n -rw-r--r-- 0 root (0) root (0) 49 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 269545 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Arc.html\n--rw-r--r-- 0 root (0) root (0) 73092 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 280318 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Arc.html\n+-rw-r--r-- 0 root (0) root (0) 76521 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Weak.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/\n -rw-r--r-- 0 root (0) root (0) 4797 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/index.html\n -rw-r--r-- 0 root (0) root (0) 54 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/sidebar-items1.83.0.js\n--rw-r--r-- 0 root (0) root (0) 13956 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.LocalWake.html\n--rw-r--r-- 0 root (0) root (0) 12535 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.Wake.html\n+-rw-r--r-- 0 root (0) root (0) 13983 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.LocalWake.html\n+-rw-r--r-- 0 root (0) root (0) 12697 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.Wake.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/drain/\n -rw-r--r-- 0 root (0) root (0) 416 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/drain/struct.Drain.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/extract_if/\n -rw-r--r-- 0 root (0) root (0) 432 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/extract_if/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 9339 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/index.html\n+-rw-r--r-- 0 root (0) root (0) 9393 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/into_iter/\n -rw-r--r-- 0 root (0) root (0) 428 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/into_iter/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 82 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/sidebar-items1.83.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/splice/\n -rw-r--r-- 0 root (0) root (0) 420 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/splice/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 155261 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 134097 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 163320 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 150238 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 862099 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Vec.html\n+-rw-r--r-- 0 root (0) root (0) 174998 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 152079 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 183462 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 170461 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Splice.html\n+-rw-r--r-- 0 root (0) root (0) 897739 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/\n -rw-r--r-- 0 root (0) root (0) 72 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/.nojekyll\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/\n -rw-r--r-- 0 root (0) root (0) 72 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/.nojekyll\n -rw-r--r-- 0 root (0) root (0) 25761 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-00.html\n -rw-r--r-- 0 root (0) root (0) 25767 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-01-keywords.html\n -rw-r--r-- 0 root (0) root (0) 25853 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-02-operators.html\n@@ -44291,35 +44291,35 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/alloc/global/\n -rw-r--r-- 0 root (0) root (0) 512 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/alloc/global/trait.GlobalAlloc.js\n -rw-r--r-- 0 root (0) root (0) 774 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/alloc/trait.Allocator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/any/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/any/trait.Any.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/async_iter/\n--rw-r--r-- 0 root (0) root (0) 967 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js\n+-rw-r--r-- 0 root (0) root (0) 1099 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/async_iter/trait.IntoAsyncIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/\n--rw-r--r-- 0 root (0) root (0) 3968 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js\n--rw-r--r-- 0 root (0) root (0) 1544 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n+-rw-r--r-- 0 root (0) root (0) 4199 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js\n+-rw-r--r-- 0 root (0) root (0) 1643 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/\n--rw-r--r-- 0 root (0) root (0) 45103 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js\n+-rw-r--r-- 0 root (0) root (0) 48007 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js\n -rw-r--r-- 0 root (0) root (0) 759 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.CloneToUninit.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/\n--rw-r--r-- 0 root (0) root (0) 19356 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Eq.js\n--rw-r--r-- 0 root (0) root (0) 7968 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Ord.js\n--rw-r--r-- 0 root (0) root (0) 59539 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n--rw-r--r-- 0 root (0) root (0) 28480 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n+-rw-r--r-- 0 root (0) root (0) 20478 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Eq.js\n+-rw-r--r-- 0 root (0) root (0) 8859 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Ord.js\n+-rw-r--r-- 0 root (0) root (0) 63466 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 29371 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/num/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/num/trait.FloatToInt.js\n--rw-r--r-- 0 root (0) root (0) 1977 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js\n--rw-r--r-- 0 root (0) root (0) 11776 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsRef.js\n--rw-r--r-- 0 root (0) root (0) 83701 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.From.js\n+-rw-r--r-- 0 root (0) root (0) 2208 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js\n+-rw-r--r-- 0 root (0) root (0) 12601 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsRef.js\n+-rw-r--r-- 0 root (0) root (0) 91885 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.From.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.Into.js\n--rw-r--r-- 0 root (0) root (0) 4393 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js\n+-rw-r--r-- 0 root (0) root (0) 4987 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryInto.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/cast/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/cast/trait.SimdCast.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/lane_count/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/lane_count/trait.SupportedLaneCount.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/masks/\n@@ -44344,133 +44344,133 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/simd/ptr/mut_ptr/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-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-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/to_bytes/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/to_bytes/trait.ToBytes.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/vector/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/vector/trait.SimdElement.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/\n--rw-r--r-- 0 root (0) root (0) 25959 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js\n+-rw-r--r-- 0 root (0) root (0) 28236 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/\n--rw-r--r-- 0 root (0) root (0) 9762 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/trait.Error.js\n+-rw-r--r-- 0 root (0) root (0) 10323 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/trait.Error.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Binary.js\n--rw-r--r-- 0 root (0) root (0) 98992 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js\n--rw-r--r-- 0 root (0) root (0) 18702 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Display.js\n+-rw-r--r-- 0 root (0) root (0) 100378 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js\n+-rw-r--r-- 0 root (0) root (0) 18933 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Display.js\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.LowerExp.js\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.LowerHex.js\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Octal.js\n--rw-r--r-- 0 root (0) root (0) 1687 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js\n+-rw-r--r-- 0 root (0) root (0) 1786 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.UpperExp.js\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.UpperHex.js\n -rw-r--r-- 0 root (0) root (0) 746 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Write.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/future/\n--rw-r--r-- 0 root (0) root (0) 1015 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/future/trait.Future.js\n+-rw-r--r-- 0 root (0) root (0) 1147 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/future/trait.Future.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/into_future/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/into_future/trait.IntoFuture.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/\n -rw-r--r-- 0 root (0) root (0) 571 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.BuildHasher.js\n--rw-r--r-- 0 root (0) root (0) 9644 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hash.js\n--rw-r--r-- 0 root (0) root (0) 1142 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js\n+-rw-r--r-- 0 root (0) root (0) 10535 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hash.js\n+-rw-r--r-- 0 root (0) root (0) 1241 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/trait.AggregateRawPtr.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/range/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/range/trait.Step.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/accum/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/accum/trait.Product.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/accum/trait.Sum.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/\n--rw-r--r-- 0 root (0) root (0) 15824 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js\n--rw-r--r-- 0 root (0) root (0) 15004 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js\n--rw-r--r-- 0 root (0) root (0) 13278 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js\n+-rw-r--r-- 0 root (0) root (0) 17408 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js\n+-rw-r--r-- 0 root (0) root (0) 16819 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js\n+-rw-r--r-- 0 root (0) root (0) 14170 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/double_ended/\n--rw-r--r-- 0 root (0) root (0) 13818 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js\n+-rw-r--r-- 0 root (0) root (0) 14973 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/exact_size/\n--rw-r--r-- 0 root (0) root (0) 16985 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js\n+-rw-r--r-- 0 root (0) root (0) 18140 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/\n--rw-r--r-- 0 root (0) root (0) 34112 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js\n+-rw-r--r-- 0 root (0) root (0) 36554 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/\n--rw-r--r-- 0 root (0) root (0) 25214 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js\n--rw-r--r-- 0 root (0) root (0) 3317 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js\n+-rw-r--r-- 0 root (0) root (0) 27095 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js\n+-rw-r--r-- 0 root (0) root (0) 3614 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedStep.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.ConstParamTy_.js\n--rw-r--r-- 0 root (0) root (0) 12188 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Copy.js\n--rw-r--r-- 0 root (0) root (0) 100940 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js\n--rw-r--r-- 0 root (0) root (0) 117025 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js\n+-rw-r--r-- 0 root (0) root (0) 12221 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Copy.js\n+-rw-r--r-- 0 root (0) root (0) 104867 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js\n+-rw-r--r-- 0 root (0) root (0) 123889 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js\n -rw-r--r-- 0 root (0) root (0) 769 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sized.js\n--rw-r--r-- 0 root (0) root (0) 15710 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n--rw-r--r-- 0 root (0) root (0) 117673 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js\n--rw-r--r-- 0 root (0) root (0) 102935 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js\n+-rw-r--r-- 0 root (0) root (0) 16007 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 124537 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js\n+-rw-r--r-- 0 root (0) root (0) 107060 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.UnsizedConstParamTy.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/num/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/num/nonzero/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/num/nonzero/trait.ZeroablePrimitive.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/\n--rw-r--r-- 0 root (0) root (0) 1944 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Add.js\n--rw-r--r-- 0 root (0) root (0) 2035 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js\n+-rw-r--r-- 0 root (0) root (0) 2176 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Add.js\n+-rw-r--r-- 0 root (0) root (0) 2266 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Div.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.DivAssign.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Mul.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.MulAssign.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Neg.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Rem.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.RemAssign.js\n--rw-r--r-- 0 root (0) root (0) 3046 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Sub.js\n+-rw-r--r-- 0 root (0) root (0) 3179 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Sub.js\n -rw-r--r-- 0 root (0) root (0) 985 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.SubAssign.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/\n--rw-r--r-- 0 root (0) root (0) 1070 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js\n--rw-r--r-- 0 root (0) root (0) 1088 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js\n--rw-r--r-- 0 root (0) root (0) 1094 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js\n+-rw-r--r-- 0 root (0) root (0) 1202 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js\n+-rw-r--r-- 0 root (0) root (0) 1220 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js\n+-rw-r--r-- 0 root (0) root (0) 1226 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/\n--rw-r--r-- 0 root (0) root (0) 2195 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js\n+-rw-r--r-- 0 root (0) root (0) 2328 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAndAssign.js\n--rw-r--r-- 0 root (0) root (0) 2189 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOr.js\n+-rw-r--r-- 0 root (0) root (0) 2322 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOr.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOrAssign.js\n--rw-r--r-- 0 root (0) root (0) 2195 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXor.js\n+-rw-r--r-- 0 root (0) root (0) 2328 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXor.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXorAssign.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.Not.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.Shl.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.ShlAssign.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.Shr.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.ShrAssign.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/\n--rw-r--r-- 0 root (0) root (0) 1847 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js\n+-rw-r--r-- 0 root (0) root (0) 2111 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/\n--rw-r--r-- 0 root (0) root (0) 8461 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.Deref.js\n--rw-r--r-- 0 root (0) root (0) 4963 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n--rw-r--r-- 0 root (0) root (0) 3130 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefPure.js\n+-rw-r--r-- 0 root (0) root (0) 9022 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.Deref.js\n+-rw-r--r-- 0 root (0) root (0) 5293 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n+-rw-r--r-- 0 root (0) root (0) 3460 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefPure.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/\n--rw-r--r-- 0 root (0) root (0) 14599 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/trait.Drop.js\n+-rw-r--r-- 0 root (0) root (0) 15788 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/trait.Drop.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/\n--rw-r--r-- 0 root (0) root (0) 1016 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.Fn.js\n--rw-r--r-- 0 root (0) root (0) 1034 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnMut.js\n--rw-r--r-- 0 root (0) root (0) 1040 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnOnce.js\n+-rw-r--r-- 0 root (0) root (0) 1148 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.Fn.js\n+-rw-r--r-- 0 root (0) root (0) 1166 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnMut.js\n+-rw-r--r-- 0 root (0) root (0) 1172 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnOnce.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/\n--rw-r--r-- 0 root (0) root (0) 4712 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.Index.js\n--rw-r--r-- 0 root (0) root (0) 2208 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.IndexMut.js\n+-rw-r--r-- 0 root (0) root (0) 5174 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.Index.js\n+-rw-r--r-- 0 root (0) root (0) 2406 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.IndexMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/range/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/range/trait.OneSidedRange.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/range/trait.RangeBounds.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/try_trait/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/try_trait/trait.FromResidual.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/try_trait/trait.Residual.js\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/try_trait/trait.Try.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/\n--rw-r--r-- 0 root (0) root (0) 5329 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n--rw-r--r-- 0 root (0) root (0) 3988 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js\n+-rw-r--r-- 0 root (0) root (0) 6121 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n+-rw-r--r-- 0 root (0) root (0) 4648 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/\n--rw-r--r-- 0 root (0) root (0) 136261 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js\n--rw-r--r-- 0 root (0) root (0) 122889 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js\n+-rw-r--r-- 0 root (0) root (0) 143191 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js\n+-rw-r--r-- 0 root (0) root (0) 128367 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/\n--rw-r--r-- 0 root (0) root (0) 3111 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js\n+-rw-r--r-- 0 root (0) root (0) 3507 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/\n -rw-r--r-- 0 root (0) root (0) 292 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/trait.Random.js\n -rw-r--r-- 0 root (0) root (0) 558 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/trait.RandomSource.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/index/\n -rw-r--r-- 0 root (0) root (0) 308 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/index/trait.SliceIndex.js\n -rw-r--r-- 0 root (0) root (0) 278 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/trait.SlicePattern.js\n@@ -44584,20 +44584,20 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/stats/\n -rw-r--r-- 0 root (0) root (0) 278 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/stats/trait.Stats.js\n -rw-r--r-- 0 root (0) root (0) 1533 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/tutorial.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 13608 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n+-rw-r--r-- 0 root (0) root (0) 15192 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/alloc/\n -rw-r--r-- 0 root (0) root (0) 13293 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/\n--rw-r--r-- 0 root (0) root (0) 26501 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js\n+-rw-r--r-- 0 root (0) root (0) 30824 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/num/\n -rw-r--r-- 0 root (0) root (0) 1193773 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/num/struct.NonZero.js\n -rw-r--r-- 0 root (0) root (0) 153136 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.f32.js\n -rw-r--r-- 0 root (0) root (0) 160398 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.f64.js\n -rw-r--r-- 0 root (0) root (0) 551133 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i16.js\n -rw-r--r-- 0 root (0) root (0) 579942 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i32.js\n -rw-r--r-- 0 root (0) root (0) 554117 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i64.js\n@@ -44605,15 +44605,15 @@\n -rw-r--r-- 0 root (0) root (0) 562273 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.isize.js\n -rw-r--r-- 0 root (0) root (0) 551674 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u16.js\n -rw-r--r-- 0 root (0) root (0) 551031 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u32.js\n -rw-r--r-- 0 root (0) root (0) 552576 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u64.js\n -rw-r--r-- 0 root (0) root (0) 595365 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u8.js\n -rw-r--r-- 0 root (0) root (0) 552637 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.usize.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/\n--rw-r--r-- 0 root (0) root (0) 288034 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/enum.Result.js\n+-rw-r--r-- 0 root (0) root (0) 301993 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/enum.Result.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/\n -rw-r--r-- 0 root (0) root (0) 215519 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/struct.Mask.js\n -rw-r--r-- 0 root (0) root (0) 1788169 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/struct.Simd.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/std/\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/std/alloc/\n -rw-r--r-- 0 root (0) root (0) 13481 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/std/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-12-04 17:07:54.000000 ./usr/share/doc/rust-doc/html/type.impl/std/convert/\n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html", "unified_diff": "@@ -1,8 +1,8 @@\n-alloc in alloc::alloc - Rust
alloc::alloc

Function alloc

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

Allocates memory with the global allocator.

\n+alloc in alloc::alloc - Rust
alloc::alloc

Function alloc

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

Allocates 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-doc/html/alloc/alloc/fn.alloc_zeroed.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc_zeroed.html", "unified_diff": "@@ -1,8 +1,8 @@\n-alloc_zeroed in alloc::alloc - Rust
alloc::alloc

Function alloc_zeroed

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

Allocates zero-initialized memory with the global allocator.

\n+alloc_zeroed in alloc::alloc - Rust
alloc::alloc

Function alloc_zeroed

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

Allocates 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-doc/html/alloc/alloc/fn.dealloc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.dealloc.html", "unified_diff": "@@ -1,8 +1,8 @@\n-dealloc in alloc::alloc - Rust
alloc::alloc

Function dealloc

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

Deallocates memory with the global allocator.

\n+dealloc in alloc::alloc - Rust
alloc::alloc

Function dealloc

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

Deallocates 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-doc/html/alloc/alloc/fn.handle_alloc_error.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.handle_alloc_error.html", "unified_diff": "@@ -1,22 +1,22 @@\n-handle_alloc_error in alloc::alloc - Rust
alloc::alloc

Function handle_alloc_error

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

Signals a memory allocation error.

\n+handle_alloc_error in alloc::alloc - Rust
alloc::alloc

Function handle_alloc_error

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

Signals 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-doc/html/alloc/alloc/fn.realloc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/fn.realloc.html", "unified_diff": "@@ -1,8 +1,8 @@\n-realloc in alloc::alloc - Rust
alloc::alloc

Function realloc

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

Reallocates memory with the global allocator.

\n+realloc in alloc::alloc - Rust
alloc::alloc

Function realloc

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

Reallocates 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-doc/html/alloc/alloc/struct.AllocError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/struct.AllocError.html", "unified_diff": "@@ -1,19 +1,19 @@\n-AllocError in alloc::alloc - Rust
alloc::alloc

Struct AllocError

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

The AllocError error indicates an allocation failure\n+AllocError in alloc::alloc - Rust

alloc::alloc

Struct AllocError

source
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)>

Returns 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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

Tests for !=. The default implementation is almost always sufficient,\n-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> CloneToUninit for T
where\n- T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\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)>

Returns 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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

Tests for !=. The default implementation is almost always sufficient,\n+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> CloneToUninit for T
where\n+ T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\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,

source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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,
source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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-doc/html/alloc/alloc/struct.Global.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/struct.Global.html", "unified_diff": "@@ -1,36 +1,36 @@\n Global in alloc::alloc - Rust
alloc::alloc

Struct Global

source
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> CloneToUninit for T
where\n- T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\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> CloneToUninit for T
where\n+ T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\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,

source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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,
source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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-doc/html/alloc/alloc/struct.Layout.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/struct.Layout.html", "unified_diff": "@@ -1,22 +1,22 @@\n-Layout in alloc::alloc - Rust
alloc::alloc

Struct Layout

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

Layout of a block of memory.

\n+Layout in alloc::alloc - Rust
alloc::alloc

Struct Layout

1.36.0 \u00b7 source
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. The size, when rounded up to\n the nearest multiple of align, does not overflow isize (i.e., the rounded value will always be\n less than or equal to isize::MAX).

\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

1.28.0 (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

1.28.0 (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@@ -24,40 +24,40 @@\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-
1.28.0 (const: 1.36.0) \u00b7 source

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

1.28.0 (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-
1.28.0 (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-
1.28.0 (const: 1.50.0) \u00b7 source

pub const fn align(&self) -> usize

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

\n+
1.28.0 (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+
1.28.0 (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-
1.28.0 (const: 1.42.0) \u00b7 source

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

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

\n-
1.28.0 (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+

1.28.0 (const: 1.42.0) \u00b7 source

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

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

\n+
1.28.0 (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-
source

pub const 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+

source

pub const 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 For the special case where the dynamic tail length is 0, this function\n is safe to call.
    • \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@@ -66,48 +66,48 @@\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-
source

pub const 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+
source

pub const 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 (const: unstable) \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 (const: unstable) \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-
source

pub const 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+

source

pub const 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 const 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 const 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

(That distance between elements is sometimes known as \u201cstride\u201d.)

\n

On arithmetic overflow, returns LayoutError.

\n@@ -120,15 +120,15 @@\n let repeated = normal.repeat(3).unwrap();\n assert_eq!(repeated, (Layout::from_size_align(36, 4).unwrap(), 12));\n \n // But you can manually make layouts which don't meet that rule.\n let padding_needed = Layout::from_size_align(6, 4).unwrap();\n let repeated = padding_needed.repeat(3).unwrap();\n assert_eq!(repeated, (Layout::from_size_align(24, 4).unwrap(), 8));
\n-
1.44.0 (const: unstable) \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 (const: unstable) \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@@ -149,42 +149,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 }

\n-
source

pub const 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 const 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 const 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 const 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

1.28.0 \u00b7 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
1.28.0 \u00b7 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
1.28.0 \u00b7 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
1.28.0 \u00b7 source\u00a7

impl PartialEq for Layout

source\u00a7

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

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

impl Copy for Layout

1.28.0 \u00b7 source\u00a7

impl Eq for Layout

1.28.0 \u00b7 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> CloneToUninit for T
where\n- T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\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.28.0 \u00b7 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
1.28.0 \u00b7 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
1.28.0 \u00b7 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
1.28.0 \u00b7 source\u00a7

impl PartialEq for Layout

source\u00a7

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

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

impl Copy for Layout

1.28.0 \u00b7 source\u00a7

impl Eq for Layout

1.28.0 \u00b7 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> CloneToUninit for T
where\n+ T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\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,

source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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,
source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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-doc/html/alloc/alloc/struct.LayoutError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/struct.LayoutError.html", "unified_diff": "@@ -1,20 +1,20 @@\n-LayoutError in alloc::alloc - Rust
alloc::alloc

Struct LayoutError

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

The LayoutError is returned when the parameters given\n+LayoutError in alloc::alloc - Rust

alloc::alloc

Struct LayoutError

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

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

\n-

Trait Implementations\u00a7

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
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
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)>

Returns 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

1.50.0 \u00b7 source\u00a7

impl PartialEq for LayoutError

source\u00a7

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

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

impl Eq for LayoutError

1.50.0 \u00b7 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> CloneToUninit for T
where\n- T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\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.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
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
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)>

Returns 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

1.50.0 \u00b7 source\u00a7

impl PartialEq for LayoutError

source\u00a7

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 \u00b7 source\u00a7

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

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

impl Eq for LayoutError

1.50.0 \u00b7 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> CloneToUninit for T
where\n+ T: Clone,

source\u00a7

unsafe fn clone_to_uninit(&self, dst: *mut T)

\ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\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,

source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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,
source\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>,

source\u00a7

type Error = Infallible

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

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

Performs the conversion.
source\u00a7

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

source\u00a7

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

The type returned 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-doc/html/alloc/alloc/trait.Allocator.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/trait.Allocator.html", "unified_diff": "@@ -1,37 +1,37 @@\n-Allocator in alloc::alloc - Rust
alloc::alloc

Trait Allocator

source
pub unsafe trait Allocator {\n+Allocator in alloc::alloc - Rust
alloc::alloc

Trait Allocator

source
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+    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n     fn by_ref(&self) -> &Self\n-       where Self: Sized { ... }\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@@ -83,16 +83,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@@ -100,36 +100,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@@ -145,20 +145,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@@ -178,21 +178,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@@ -208,12 +208,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-doc/html/alloc/alloc/trait.GlobalAlloc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/trait.GlobalAlloc.html", "unified_diff": "@@ -1,20 +1,20 @@\n-GlobalAlloc in alloc::alloc - Rust
    alloc::alloc

    Trait GlobalAlloc

    1.36.0 \u00b7 source
    pub unsafe trait GlobalAlloc {\n+GlobalAlloc in alloc::alloc - Rust
    alloc::alloc

    Trait GlobalAlloc

    1.36.0 \u00b7 source
    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@@ -119,15 +119,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

    1.28.0 \u00b7 source

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

    Allocates memory as described by the given layout.

    \n+

    Required Methods\u00a7

    1.28.0 \u00b7 source

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

    Allocates 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

    layout must have non-zero size. Attempting to allocate for a zero-sized layout may\n result in undefined behavior.

    \n

    (Extension subtraits might provide more specific bounds on\n behavior, e.g., guarantee a sentinel address or a null pointer\n@@ -140,46 +140,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-
    1.28.0 \u00b7 source

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

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

    \n+
    1.28.0 \u00b7 source

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

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

    \n
    \u00a7Safety
    \n

    The caller must ensure:

    \n
      \n
    • \n

      ptr is a block of memory currently allocated via this allocator and,

      \n
    • \n
    • \n

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

      \n
    • \n
    \n

    Otherwise undefined behavior can result.

    \n-

    Provided Methods\u00a7

    1.28.0 \u00b7 source

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

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

    Provided Methods\u00a7

    1.28.0 \u00b7 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

    The caller has to ensure that layout has non-zero size. Like alloc\n zero sized layout can result in undefined behaviour.\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-
    1.28.0 \u00b7 source

    unsafe fn realloc(\n+

    1.28.0 \u00b7 source

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

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

    Shrinks or grows 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-doc/html/alloc/alloc/type.LayoutErr.html", "source2": "./usr/share/doc/rust-doc/html/alloc/alloc/type.LayoutErr.html", "unified_diff": "@@ -1 +1 @@\n-LayoutErr in alloc::alloc - Rust

    alloc::alloc

    Type Alias LayoutErr

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

    Aliased Type\u00a7

    struct LayoutErr;
    \n+LayoutErr in alloc::alloc - Rust
    alloc::alloc

    Type Alias LayoutErr

    1.36.0 \u00b7 source
    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-doc/html/alloc/borrow/enum.Cow.html", "source2": "./usr/share/doc/rust-doc/html/alloc/borrow/enum.Cow.html", "unified_diff": "@@ -1,10 +1,10 @@\n Cow in alloc::borrow - Rust
    alloc::borrow

    Enum Cow

    1.36.0 \u00b7 source
    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@@ -69,27 +69,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 }

    \n-

    Variants\u00a7

    \u00a71.36.0

    Borrowed(&'a B)

    Borrowed data.

    \n+

    Variants\u00a7

    \u00a71.36.0

    Borrowed(&'a B)

    Borrowed data.

    \n
    \u00a71.36.0

    Owned(<B as ToOwned>::Owned)

    Owned data.

    \n-

    Implementations\u00a7

    source\u00a7

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

    source

    pub const 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>

    source

    pub const 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());
    \n-
    source

    pub const 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+
    source

    pub const 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@@ -129,179 +129,179 @@\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 );
    \n-

    Trait Implementations\u00a7

    1.14.0 \u00b7 source\u00a7

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

    source\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>

    source\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
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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-
    1.0.0 \u00b7 source\u00a7

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

    source\u00a7

    type Target = B

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &B

    Dereferences the value.
    1.0.0 \u00b7 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>

    source\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>

    source\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
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 source\u00a7

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

    source\u00a7

    type Target = B

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &B

    Dereferences the value.
    1.0.0 \u00b7 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\"));
    \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.0.0 \u00b7 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+

    1.0.0 \u00b7 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\"));
    \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}\");
    \n \n
    let unboxed = Cow::Owned(\"hello\".to_string());\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    \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>

    Converts 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>

    Converts 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));
    \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>

    Creates an atomically reference-counted pointer from a clone-on-write\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>

    Creates an atomically reference-counted pointer from a clone-on-write\n 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[..]);
    \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>

    Creates a reference-counted pointer from a clone-on-write pointer by\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>

    Creates a reference-counted pointer from a clone-on-write pointer by\n 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[..]);
    \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\");
    \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))
    \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))
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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));
    \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.80.0 \u00b7 source\u00a7

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

    source\u00a7

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

    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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &Vec<U, A>) -> bool

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, B> Freeze for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: Freeze,\n- B: ?Sized,

    \u00a7

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

    \u00a7

    impl<'a, B> Send for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: Send,\n- B: Sync + ?Sized,

    \u00a7

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

    \u00a7

    impl<'a, B> Unpin for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: Unpin,\n- B: ?Sized,

    \u00a7

    impl<'a, B> UnwindSafe for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: UnwindSafe,\n- B: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

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

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.80.0 \u00b7 source\u00a7

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

    source\u00a7

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

    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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &Vec<U, A>) -> bool

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

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

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    Auto Trait Implementations\u00a7

    \u00a7

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

    \u00a7

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

    \u00a7

    impl<'a, B> Send for Cow<'a, B>
    where\n+ <B as ToOwned>::Owned: Send,\n+ B: Sync + ?Sized,

    \u00a7

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

    \u00a7

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

    \u00a7

    impl<'a, B> UnwindSafe for Cow<'a, B>
    where\n+ <B as ToOwned>::Owned: UnwindSafe,\n+ B: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

    impl<T> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/borrow/trait.Borrow.html", "source2": "./usr/share/doc/rust-doc/html/alloc/borrow/trait.Borrow.html", "unified_diff": "@@ -1,20 +1,20 @@\n-Borrow in alloc::borrow - Rust
    alloc::borrow

    Trait Borrow

    1.36.0 \u00b7 source
    pub trait Borrow<Borrowed>
    where\n- Borrowed: ?Sized,
    {\n+Borrow in alloc::borrow - Rust
    alloc::borrow

    Trait Borrow

    1.36.0 \u00b7 source
    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@@ -28,22 +28,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@@ -111,27 +111,27 @@\n }
    \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

    1.0.0 \u00b7 source

    fn borrow(&self) -> &Borrowed

    Immutably borrows from an owned value.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 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);
    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Borrow<str> for String

    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

    \n+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Borrow<str> for String

    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

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

    Trait BorrowMut

    1.36.0 \u00b7 source
    pub trait BorrowMut<Borrowed>: Borrow<Borrowed>
    where\n- Borrowed: ?Sized,
    {\n+BorrowMut in alloc::borrow - Rust
    alloc::borrow

    Trait BorrowMut

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source

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

    Mutably borrows from an owned value.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 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);
    \n-

    Implementors\u00a7

    1.36.0 \u00b7 source\u00a7

    impl BorrowMut<str> for String

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 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-doc/html/alloc/borrow/trait.ToOwned.html", "source2": "./usr/share/doc/rust-doc/html/alloc/borrow/trait.ToOwned.html", "unified_diff": "@@ -18,18 +18,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();
    \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);
    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl ToOwned for str

    1.3.0 \u00b7 source\u00a7

    impl ToOwned for CStr

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone> ToOwned for [T]

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl ToOwned for str

    1.3.0 \u00b7 source\u00a7

    impl ToOwned for CStr

    1.0.0 \u00b7 source\u00a7

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

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone> ToOwned for [T]

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/boxed/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/boxed/index.html", "unified_diff": "@@ -4,15 +4,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);
    \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;
    \n

    Creating a recursive data structure:

    \n \n
    #[allow(dead_code)]\n #[derive(Debug)]\n@@ -39,15 +39,15 @@\n pointer points to a valid value of the right type. More precisely, a value: *mut T that has\n been allocated with the Global allocator with Layout::for_value(&*value) may be converted\n into a box using Box::<T>::from_raw(value). Conversely, the memory backing a value: *mut T\n obtained from Box::<T>::into_raw may be deallocated using the Global allocator with\n Layout::for_value(&*value).

    \n

    For zero-sized values, the Box pointer has to be non-null and sufficiently aligned. The\n recommended way to build a Box to a ZST if Box::new cannot be used is to use\n-ptr::NonNull::dangling.

    \n+ptr::NonNull::dangling.

    \n

    On top of these basic layout requirements, a Box<T> must point to a valid value of T.

    \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@@ -96,15 +96,15 @@\n

    The aliasing rules for Box<T> are the same as for &mut T. Box<T>\n asserts uniqueness over its content. Using raw pointers derived from a box\n after that box has been mutated through, moved or borrowed as &mut T\n is not allowed. For more guidance on working with box from unsafe code, see\n rust-lang/unsafe-code-guidelines#326.

    \n

    \u00a7Editions

    \n

    A special case exists for the implementation of IntoIterator for arrays on the Rust 2021\n-edition, as documented here. Unfortunately, it was later found that a similar\n+edition, as documented here. Unfortunately, it was later found that a similar\n workaround should be added for boxed slices, and this was applied in the 2024 edition.

    \n

    Specifically, IntoIterator is implemented for Box<[T]> on all editions, but specific calls\n to into_iter() for boxed slices will defer to the slice implementation on editions before\n 2024:

    \n \n
    \u24d8
    // Rust 2015, 2018, and 2021:\n \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html", "source2": "./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html", "unified_diff": "@@ -1,67 +1,67 @@\n-Box in alloc::boxed - Rust
    alloc::boxed

    Struct Box

    1.36.0 \u00b7 source
    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+Box in alloc::boxed - Rust
    alloc::boxed

    Struct Box

    1.36.0 \u00b7 source
    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>

    1.0.0 \u00b7 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);
    \n-
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    Constructs a new box with uninitialized contents.

    \n+
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    Constructs a new box with uninitialized contents.

    \n
    \u00a7Examples
    \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)
    \n-
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\n \n let zero = Box::<u32>::new_zeroed();\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    \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)?;
    \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)]\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);
    \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)]\n \n let zero = Box::<u32>::try_new_zeroed()?;\n let zero = unsafe { zero.assume_init() };\n \n@@ -71,25 +71,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);
    \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)?;
    \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)]\n \n use std::alloc::System;\n \n let mut five = Box::<u32, _>::new_uninit_in(System);\n@@ -98,15 +98,15 @@\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5)
    \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)]\n \n use std::alloc::System;\n \n@@ -116,87 +116,87 @@\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5);
    \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)]\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)
    \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)]\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);
    \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);
    \n-
    source\u00a7

    impl<T> Box<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Box<[MaybeUninit<T>]>

    Constructs a new boxed slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Box<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Box<[MaybeUninit<T>]>

    Constructs a new boxed slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    let mut values = Box::<[u32]>::new_uninit_slice(3);\n \n let values = unsafe {\n     // Deferred initialization:\n     values[0].as_mut_ptr().write(1);\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])
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Box<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\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])
    \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)]\n \n let mut values = Box::<[u32]>::try_new_uninit_slice(3)?;\n let values = unsafe {\n     // Deferred initialization:\n@@ -204,27 +204,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]);
    \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)]\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]);
    \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)]\n \n use std::alloc::System;\n \n let mut values = Box::<[u32], _>::new_uninit_slice_in(3, System);\n \n@@ -234,31 +234,31 @@\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])
    \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)]\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])
    \n
    source

    pub fn try_new_uninit_slice_in(\n- len: usize,\n+ len: usize,\n alloc: A,\n-) -> Result<Box<[MaybeUninit<T>], A>, AllocError>

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

    Constructs a new boxed slice with uninitialized contents in the provided allocator. Returns an error if\n+) -> Result<Box<[MaybeUninit<T>], A>, AllocError>

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

    Constructs a new boxed slice with uninitialized contents in the provided allocator. Returns an error if\n the allocation fails.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::alloc::System;\n \n let mut values = Box::<[u32], _>::try_new_uninit_slice_in(3, System)?;\n@@ -268,32 +268,32 @@\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]);
    \n
    source

    pub fn try_new_zeroed_slice_in(\n- len: usize,\n+ len: usize,\n alloc: A,\n-) -> Result<Box<[MaybeUninit<T>], A>, AllocError>

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

    Constructs a new boxed slice with uninitialized contents in the provided allocator, with the memory\n+) -> Result<Box<[MaybeUninit<T>], A>, AllocError>

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

    Constructs a new boxed slice with uninitialized contents in the provided allocator, 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)]\n \n use std::alloc::System;\n \n let values = Box::<[u32], _>::try_new_zeroed_slice_in(3, System)?;\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0]);
    \n-
    source\u00a7

    impl<T, A: Allocator> Box<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Box<T, A>

    Converts to Box<T, A>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Box<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Box<T, A>

    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
    let mut five = Box::<u32>::new_uninit();\n \n@@ -323,17 +323,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 }
    \n-
    source\u00a7

    impl<T, A: Allocator> Box<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Box<[T], A>

    Converts to Box<[T], A>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Box<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Box<[T], A>

    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
    let mut values = Box::<[u32]>::new_uninit_slice(3);\n \n@@ -343,15 +343,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])
    \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@@ -373,15 +373,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 }

    \n-
    source

    pub unsafe fn from_non_null(ptr: NonNull<T>) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

    Constructs a box from a NonNull pointer.

    \n+
    source

    pub unsafe fn from_non_null(ptr: NonNull<T>) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

    Constructs a box from a NonNull pointer.

    \n

    After calling this function, the NonNull pointer is owned by\n the 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@@ -408,15 +408,15 @@\n let non_null = NonNull::new(alloc(Layout::new::<i32>()).cast::<i32>())\n .expect(\"allocation failed\");\n // In general .write is required to avoid attempting to destruct\n // the (uninitialized) previous contents of `non_null`.\n non_null.write(5);\n let x = Box::from_non_null(non_null);\n }

    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Box<T, A>

    source

    pub const 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>

    source

    pub const 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@@ -443,15 +443,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 }

    \n-
    source

    pub const unsafe fn from_non_null_in(raw: NonNull<T>, alloc: A) -> Self

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

    Constructs a box from a NonNull pointer in the given allocator.

    \n+
    source

    pub const unsafe fn from_non_null_in(raw: NonNull<T>, alloc: A) -> Self

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

    Constructs a box from a NonNull pointer in the given allocator.

    \n

    After calling this function, the NonNull pointer is owned by\n the 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@@ -477,15 +477,15 @@\n unsafe {\n let non_null = System.allocate(Layout::new::<i32>())?.cast::<i32>();\n // In general .write is required to avoid attempting to destruct\n // the (uninitialized) previous contents of `non_null`.\n non_null.write(5);\n let x = Box::from_non_null_in(non_null, System);\n }

    \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@@ -515,15 +515,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 }
    \n-
    source

    pub fn into_non_null(b: Self) -> NonNull<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

    Consumes the Box, returning a wrapped NonNull pointer.

    \n+
    source

    pub fn into_non_null(b: Self) -> NonNull<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

    Consumes the Box, returning a wrapped NonNull pointer.

    \n

    The pointer will be properly aligned.

    \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 NonNull pointer back into a Box with the\n Box::from_non_null function, allowing the Box destructor to\n@@ -558,15 +558,15 @@\n

    #![feature(box_vec_non_null)]\n \n let x = Box::new(String::from(\"Hello\"));\n let non_null = Box::into_non_null(x);\n unsafe {\n     drop(Box::from_non_null(non_null));\n }
    \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@@ -596,15 +596,15 @@\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 }

    \n-
    source

    pub fn into_non_null_with_allocator(b: Self) -> (NonNull<T>, A)

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

    Consumes the Box, returning a wrapped NonNull pointer and the allocator.

    \n+
    source

    pub fn into_non_null_with_allocator(b: Self) -> (NonNull<T>, A)

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

    Consumes the Box, returning a wrapped NonNull pointer and the allocator.

    \n

    The pointer will be properly aligned.

    \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 NonNull pointer back into a Box with the\n Box::from_non_null_in function, allowing the Box destructor to\n@@ -633,15 +633,15 @@\n \n let x = Box::new_in(String::from(\"Hello\"), System);\n let (non_null, alloc) = Box::into_non_null_with_allocator(x);\n unsafe {\n non_null.drop_in_place();\n alloc.deallocate(non_null.cast::<u8>(), Layout::new::<String>());\n }

    \n-
    source

    pub fn as_mut_ptr(b: &mut Self) -> *mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (box_as_ptr #129090)

    Returns a raw mutable pointer to the Box\u2019s contents.

    \n+
    source

    pub fn as_mut_ptr(b: &mut Self) -> *mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (box_as_ptr #129090)

    Returns a raw mutable pointer to the Box\u2019s contents.

    \n

    The caller must ensure that the Box outlives the pointer this\n function returns, or else it will end up dangling.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\n does not materialize a reference to the underlying memory, and thus the returned pointer\n will remain valid when mixed with other calls to as_ptr and as_mut_ptr.\n Note that calling other methods that materialize references to the memory\n may still invalidate this pointer.\n@@ -656,15 +656,15 @@\n let ptr1 = Box::as_mut_ptr(&mut b);\n ptr1.write(1);\n let ptr2 = Box::as_mut_ptr(&mut b);\n ptr2.write(2);\n // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n ptr1.write(3);\n }

    \n-
    source

    pub fn as_ptr(b: &Self) -> *const T

    \ud83d\udd2cThis is a nightly-only experimental API. (box_as_ptr #129090)

    Returns a raw pointer to the Box\u2019s contents.

    \n+
    source

    pub fn as_ptr(b: &Self) -> *const T

    \ud83d\udd2cThis is a nightly-only experimental API. (box_as_ptr #129090)

    Returns a raw pointer to the Box\u2019s contents.

    \n

    The caller must ensure that the Box outlives the pointer this\n function returns, or else it will end up dangling.

    \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 Box, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\n does not materialize a reference to the underlying memory, and thus the returned pointer\n@@ -685,19 +685,19 @@\n // No write to this memory has happened yet, so `ptr1` is still valid.\n let _val = ptr1.read();\n // However, once we do a write...\n ptr2.write(1);\n // ... `ptr1` is no longer valid.\n // This would be UB: let _val = ptr1.read();\n }

    \n-
    source

    pub const fn allocator(b: &Self) -> &A

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

    Returns a reference to the underlying allocator.

    \n+
    source

    pub const 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.

    \n

    Note that the type T must outlive the chosen lifetime 'a. If the type\n has only static references, or none at all, then this may be chosen to be\n '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@@ -717,19 +717,19 @@\n assert_eq!(*static_ref, 42);

    \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]);
    \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@@ -740,295 +740,295 @@\n fn from(_: Box<()>) -> Pin<Foo> {\n Pin::new(Foo)\n }\n }\n \n let foo = Box::new(());\n let bar = Pin::from(foo);

    \n-
    source\u00a7

    impl<A: Allocator> Box<dyn Any, A>

    1.0.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempts to downcast the box to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Box<dyn Any, A>

    1.0.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempts 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));
    \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 }
    \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>

    1.0.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempts to downcast the box to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Box<dyn Any + Send, A>

    1.0.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempts 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));
    \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 }
    \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>

    Attempts 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>

    Attempts 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));
    \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 }
    \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>

    source\u00a7

    extern "rust-call" fn async_call(\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>

    source\u00a7

    extern "rust-call" fn async_call(\n &self,\n args: Args,\n-) -> Self::CallRefFuture<'_>

    \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>

    source\u00a7

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\n+) -> Self::CallRefFuture<'_>

    \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>

    source\u00a7

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\n where\n- Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    source\u00a7

    extern "rust-call" fn async_call_mut(\n+ Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    source\u00a7

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args,\n-) -> Self::CallRefFuture<'_>

    \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>

    source\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.
    source\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::CallRefFuture<'_>

    \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>

    source\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.
    source\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>

    source\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)
    Attempts 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>

    source\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)
    Attempts 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_from(&mut self, source: &Self)

    Copies source\u2019s contents into self without creating a new allocation,\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_from(&mut self, source: &Self)

    Copies source\u2019s contents into self without creating a new allocation,\n so long as the two are of the same length.

    \n
    \u00a7Examples
    \n
    let x = Box::new([5, 6, 7]);\n let mut y = Box::new([8, 9, 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);
    \n-
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. 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
    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<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+
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. 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
    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<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);
    \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);
    \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
    1.0.0 \u00b7 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>

    source\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
    source\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
    1.0.0 \u00b7 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>

    source\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
    source\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,

    source\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
    source\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,

    source\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
    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Box<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 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<A: Allocator> Extend<Box<str, A>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str, A>>>(&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>

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Box<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 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<A: Allocator> Extend<Box<str, A>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str, A>>>(&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>

    source\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:?}\");
    \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))
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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))
    \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}\");
    \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:?}\");
    \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

    Converts 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

    Converts 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]);
    \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[..]);
    \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);
    \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)
    \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);
    \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}\");
    \n \n
    let unboxed = Cow::Owned(\"hello\".to_string());\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    \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))
    \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))
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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@@ -1041,16 +1041,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))
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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@@ -1068,287 +1068,287 @@\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))
    \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))
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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))
    \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)
    \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);
    \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

    Converts 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

    Converts 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());
    \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());
    \n-
    1.80.0 \u00b7 source\u00a7

    impl<'a> FromIterator<&'a char> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = &'a char>>(iter: T) -> Self

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

    impl<'a> FromIterator<&'a str> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = &'a str>>(iter: T) -> Self

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

    impl<A: Allocator> FromIterator<Box<str, A>> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = Box<str, A>>>(iter: T) -> Self

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

    impl<A: Allocator> FromIterator<Box<str, A>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str, A>>>(iter: I) -> String

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

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

    source\u00a7

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

    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.80.0 \u00b7 source\u00a7

    impl FromIterator<String> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self

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

    impl FromIterator<char> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = char>>(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>

    source\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>

    Attempts to resolve the future to a final value, registering\n-the current task for wakeup if the value is not yet available. Read more
    1.0.0 \u00b7 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
    1.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A>

    source\u00a7

    type IntoIter = Iter<'a, I>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = &'a I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> Iter<'a, I> \u24d8

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

    impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A>

    source\u00a7

    type IntoIter = IterMut<'a, I>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = &'a mut I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> IterMut<'a, I> \u24d8

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

    impl<I, A: Allocator> IntoIterator for Box<[I], A>

    source\u00a7

    type IntoIter = IntoIter<I, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> IntoIter<I, A> \u24d8

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

    impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>

    source\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.80.0 \u00b7 source\u00a7

    impl<'a> FromIterator<&'a char> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = &'a char>>(iter: T) -> Self

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

    impl<'a> FromIterator<&'a str> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = &'a str>>(iter: T) -> Self

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

    impl<A: Allocator> FromIterator<Box<str, A>> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = Box<str, A>>>(iter: T) -> Self

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

    impl<A: Allocator> FromIterator<Box<str, A>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str, A>>>(iter: I) -> String

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

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

    source\u00a7

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

    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.80.0 \u00b7 source\u00a7

    impl FromIterator<String> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self

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

    impl FromIterator<char> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = char>>(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>

    source\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>

    Attempts to resolve the future to a final value, registering\n+the current task for wakeup if the value is not yet available. Read more
    1.0.0 \u00b7 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
    1.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A>

    source\u00a7

    type IntoIter = Iter<'a, I>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = &'a I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> Iter<'a, I> \u24d8

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

    impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], A>

    source\u00a7

    type IntoIter = IterMut<'a, I>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = &'a mut I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> IterMut<'a, I> \u24d8

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

    impl<I, A: Allocator> IntoIterator for Box<[I], A>

    source\u00a7

    type IntoIter = IntoIter<I, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    type Item = I

    The type of the elements being iterated over.
    source\u00a7

    fn into_iter(self) -> IntoIter<I, A> \u24d8

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

    impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>

    source\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
    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.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.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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.0.0 \u00b7 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,

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

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Self) -> bool

    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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    source\u00a7

    fn gt(&self, other: &Self) -> bool

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 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. Read more
    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.0.0 \u00b7 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,

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

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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

    Tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Self) -> bool

    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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    source\u00a7

    fn gt(&self, other: &Self) -> bool

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 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. Read more
    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-
    source\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+
    source\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);
    \n-
    source\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, A: Allocator> DerefPure for Box<T, A>

    source\u00a7

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

    1.0.0 \u00b7 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.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> !Iterator for &'a Box<[I], A>

    This implementation is required to make sure that the &Box<[I]>: IntoIterator\n+

    source\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, A: Allocator> DerefPure for Box<T, A>

    source\u00a7

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

    1.0.0 \u00b7 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.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> !Iterator for &'a Box<[I], A>

    This implementation is required to make sure that the &Box<[I]>: IntoIterator\n implementation doesn\u2019t overlap with IntoIterator for T where T: Iterator blanket.

    \n-
    1.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> !Iterator for &'a mut Box<[I], A>

    This implementation is required to make sure that the &mut Box<[I]>: IntoIterator\n+

    1.80.0 \u00b7 source\u00a7

    impl<'a, I, A: Allocator> !Iterator for &'a mut Box<[I], A>

    This implementation is required to make sure that the &mut Box<[I]>: IntoIterator\n implementation doesn\u2019t overlap with IntoIterator for T where T: Iterator blanket.

    \n-
    1.80.0 \u00b7 source\u00a7

    impl<I, A: Allocator> !Iterator for Box<[I], A>

    This implementation is required to make sure that the Box<[I]>: IntoIterator\n+

    1.80.0 \u00b7 source\u00a7

    impl<I, A: Allocator> !Iterator for Box<[I], A>

    This implementation is required to make sure that the Box<[I]>: IntoIterator\n implementation doesn\u2019t overlap with IntoIterator for T where T: Iterator blanket.

    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Box<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Box<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Box<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe + ?Sized,

    \u00a7

    impl<T, A> Send for Box<T, A>
    where\n- A: Send,\n- T: Send + ?Sized,

    \u00a7

    impl<T, A> Sync for Box<T, A>
    where\n- A: Sync,\n- T: Sync + ?Sized,

    \u00a7

    impl<T, A> UnwindSafe for Box<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

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

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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> PinCoerceUnsized for Box<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Box<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Box<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe + ?Sized,

    \u00a7

    impl<T, A> Send for Box<T, A>
    where\n+ A: Send,\n+ T: Send + ?Sized,

    \u00a7

    impl<T, A> Sync for Box<T, A>
    where\n+ A: Sync,\n+ T: Sync + ?Sized,

    \u00a7

    impl<T, A> UnwindSafe for Box<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

    impl<T> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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,

    source\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
    source\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,

    source\u00a7

    type Output = <F as Future>::Output

    The output that the future will produce on completion.
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> I

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

    impl<F> Pattern for F
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    type Searcher<'a> = CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher<'a>(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<'a>(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<'a>(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<'a>(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<'a>(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<'a>(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,

    source\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
    source\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,

    source\u00a7

    type Output = <F as Future>::Output

    The output that the future will produce on completion.
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> I

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

    impl<F> Pattern for F
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    type Searcher<'a> = CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher<'a>(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<'a>(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<'a>(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<'a>(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<'a>(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<'a>(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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/boxed/struct.ThinBox.html", "source2": "./usr/share/doc/rust-doc/html/alloc/boxed/struct.ThinBox.html", "unified_diff": "@@ -1,54 +1,54 @@\n-ThinBox in alloc::boxed - Rust
    alloc::boxed

    Struct ThinBox

    source
    pub struct ThinBox<T: ?Sized> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)
    Expand description

    ThinBox.

    \n+ThinBox in alloc::boxed - Rust
    alloc::boxed

    Struct ThinBox

    source
    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));
    \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);
    \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)?;
    \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]);
    \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>

    source\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)>

    Returns 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> Freeze for ThinBox<T>
    where\n- T: ?Sized,

    \u00a7

    impl<T> RefUnwindSafe for ThinBox<T>
    where\n- T: RefUnwindSafe + ?Sized,

    \u00a7

    impl<T> Unpin for ThinBox<T>
    where\n- T: Unpin + ?Sized,

    \u00a7

    impl<T> UnwindSafe for ThinBox<T>
    where\n- T: UnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>

    source\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)>

    Returns 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> Freeze for ThinBox<T>
    where\n+ T: ?Sized,

    \u00a7

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

    \u00a7

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

    \u00a7

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

    Blanket Implementations\u00a7

    source\u00a7

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

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

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

    source\u00a7

    fn borrow(&self) -> &T

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

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

    source\u00a7

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

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

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html", "unified_diff": "@@ -1,11 +1,11 @@\n BinaryHeap in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct BinaryHeap

    1.36.0 \u00b7 source
    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@@ -56,15 +56,15 @@\n assert!(heap.is_empty())

    \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]);
    \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@@ -81,55 +81,55 @@\n assert_eq!(heap.pop(), None);
    \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>

    1.0.0 (const: 1.80.0) \u00b7 source

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

    Creates an empty BinaryHeap as a max-heap.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<T: Ord> BinaryHeap<T>

    1.0.0 (const: 1.80.0) \u00b7 source

    pub const 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);
    \n-
    1.0.0 \u00b7 source

    pub fn with_capacity(capacity: usize) -> BinaryHeap<T>

    Creates an empty BinaryHeap with at least the specified capacity.

    \n+
    1.0.0 \u00b7 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);
    \n-
    source\u00a7

    impl<T: Ord, A: Allocator> BinaryHeap<T, A>

    source

    pub const 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>

    source

    pub const 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);
    \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);
    \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@@ -144,15 +144,15 @@\n let mut val = heap.peek_mut().unwrap();\n *val = 0;\n }\n assert_eq!(heap.peek(), Some(&2));
    \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-
    1.0.0 \u00b7 source

    pub fn pop(&mut self) -> Option<T>

    Removes the greatest item from the binary heap and returns it, or None if it\n+

    1.0.0 \u00b7 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@@ -229,15 +229,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);
    \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@@ -264,72 +264,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]);
    \n-
    1.0.0 \u00b7 source

    pub fn peek(&self) -> Option<&T>

    Returns the greatest item in the binary heap, or None if it is empty.

    \n+
    1.0.0 \u00b7 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 
    \n
    \u00a7Time complexity
    \n

    Cost is O(1) in the worst case.

    \n-
    1.0.0 \u00b7 source

    pub fn capacity(&self) -> usize

    Returns the number of elements the binary heap can hold without reallocating.

    \n+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional elements more than\n+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional elements more than the\n+

    1.0.0 \u00b7 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);
    \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@@ -348,15 +348,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 }

    \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@@ -382,26 +382,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);
    \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);
    \n-
    1.80.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns a slice of all values in the underlying vector, in arbitrary\n+

    1.80.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns a slice of all values in the underlying vector, in arbitrary\n order.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n use std::io::{self, Write};\n \n@@ -417,24 +417,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 }
    \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-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Checks if the binary heap is empty.

    \n+
    1.0.0 \u00b7 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@@ -470,63 +470,63 @@\n let mut heap = BinaryHeap::from([1, 3]);\n \n assert!(!heap.is_empty());\n \n heap.clear();\n \n assert!(heap.is_empty());
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\n as it avoids reallocation if possible.

    \n

    See Vec::clone_from() for more details.

    \n-
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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 }
    \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-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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 }
    \n-
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    type Item = T

    The type of the elements being iterated over.
    source\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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.Drain.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Drain.html", "unified_diff": "@@ -1,217 +1,217 @@\n Drain in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct Drain

    1.36.0 \u00b7 source
    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

    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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

    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Drain<'a, T, A>
    where\n- T: Send,\n- A: Send,

    \u00a7

    impl<'a, T, A> Sync for Drain<'a, T, A>
    where\n- T: Sync,\n- A: 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- T: RefUnwindSafe,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Drain<'a, T, A>
    where\n+ T: Send,\n+ A: Send,

    \u00a7

    impl<'a, T, A> Sync for Drain<'a, T, A>
    where\n+ T: Sync,\n+ A: 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+ T: RefUnwindSafe,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html", "unified_diff": "@@ -1,198 +1,198 @@\n-DrainSorted in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct DrainSorted

    source
    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+DrainSorted in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct DrainSorted

    source
    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>

    source\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>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIter.html", "unified_diff": "@@ -1,226 +1,226 @@\n IntoIter in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct IntoIter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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
    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<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

    1.0.0 \u00b7 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
    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<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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n- T: Send,\n- A: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- T: Sync,\n- A: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- T: Unpin,\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- T: RefUnwindSafe + UnwindSafe,\n- A: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n+ T: Send,\n+ A: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ T: Sync,\n+ A: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ T: Unpin,\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ T: RefUnwindSafe + UnwindSafe,\n+ A: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html", "unified_diff": "@@ -1,201 +1,201 @@\n-IntoIterSorted in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct IntoIterSorted

    source
    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>

    source\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+IntoIterSorted in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct IntoIterSorted

    source
    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>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Iter.html", "unified_diff": "@@ -1,218 +1,218 @@\n Iter in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct Iter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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.82.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty binary_heap::Iter.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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.82.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty binary_heap::Iter.

    \n \n
    let iter: binary_heap::Iter<'_, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/binary_heap/struct.PeekMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.PeekMut.html", "unified_diff": "@@ -1,22 +1,22 @@\n-PeekMut in alloc::collections::binary_heap - Rust
    alloc::collections::binary_heap

    Struct PeekMut

    1.36.0 \u00b7 source
    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+PeekMut in alloc::collections::binary_heap - Rust

    alloc::collections::binary_heap

    Struct PeekMut

    1.36.0 \u00b7 source
    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
    1.12.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.12.0 \u00b7 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.
    1.12.0 \u00b7 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
    1.12.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.12.0 \u00b7 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.
    1.12.0 \u00b7 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/enum.Entry.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/enum.Entry.html", "unified_diff": "@@ -1,55 +1,55 @@\n-Entry in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Enum Entry

    1.36.0 \u00b7 source
    pub enum Entry<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n+Entry in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Enum Entry

    1.36.0 \u00b7 source
    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

    \u00a71.36.0

    Vacant(VacantEntry<'a, K, V, A>)

    A vacant entry.

    \n
    \u00a71.36.0

    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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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());
    \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);
    \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\");
    \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@@ -57,40 +57,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);
    \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);
    \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- K: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
    where\n- K: RefUnwindSafe,\n- A: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for Entry<'a, K, V, A>
    where\n- K: Send,\n- A: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
    where\n- K: Sync,\n- A: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
    where\n- K: Unpin,\n- A: 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+ K: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
    where\n+ K: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for Entry<'a, K, V, A>
    where\n+ K: Send,\n+ A: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
    where\n+ K: Sync,\n+ A: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
    where\n+ K: Unpin,\n+ A: 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.BTreeMap.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.BTreeMap.html", "unified_diff": "@@ -1,8 +1,8 @@\n-BTreeMap in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct BTreeMap

    1.36.0 \u00b7 source
    pub struct BTreeMap<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered map based on a B-Tree.

    \n+BTreeMap in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct BTreeMap

    1.36.0 \u00b7 source
    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@@ -18,16 +18,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::into_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@@ -111,15 +111,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\");
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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());
    \n@@ -128,149 +128,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\");
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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);
    \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);
    \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\")));
    \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\");
    \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());
    \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\")));
    \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\");
    \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());
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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\");
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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@@ -282,16 +282,16 @@\n map.insert(37, \"b\");\n assert_eq!(map.insert(37, \"c\"), Some(\"b\"));\n assert_eq!(map[&37], \"c\");
    \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@@ -299,55 +299,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\");
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \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);
    \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)]));
    \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+ 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@@ -366,17 +366,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\");
    \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@@ -390,17 +390,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());

    \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@@ -413,31 +413,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 }

    \n
    1.0.0 \u00b7 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);
    \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@@ -453,16 +453,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\");
    \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@@ -499,15 +499,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\"]);

    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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@@ -565,33 +565,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!\")]);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n+
    1.0.0 (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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n+
    1.0.0 (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());
    \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@@ -615,17 +615,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\")));
    \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@@ -649,17 +649,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\")));
    \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@@ -683,17 +683,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);
    \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@@ -717,57 +717,57 @@\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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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-
    source\u00a7

    type Output = V

    The returned type after indexing.
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>

    source\u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>

    source\u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<K, V, A> \u24d8

    Gets an owning iterator over the entries of the map, sorted by key.

    \n-
    source\u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    type Output = V

    The returned type after indexing.
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>

    source\u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>

    source\u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<K, V, A> \u24d8

    Gets an owning iterator over the entries of the map, sorted by key.

    \n+
    source\u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.Cursor.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Cursor.html", "unified_diff": "@@ -1,40 +1,40 @@\n Cursor in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct Cursor

    source
    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.CursorMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMut.html", "unified_diff": "@@ -3,26 +3,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@@ -31,15 +31,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@@ -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 preceding 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 preceding 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html", "unified_diff": "@@ -11,34 +11,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@@ -56,53 +56,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 preceding 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 preceding 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ExtractIf.html", "unified_diff": "@@ -1,210 +1,210 @@\n-ExtractIf in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct ExtractIf

    source
    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+ExtractIf in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct ExtractIf

    source
    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,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- F: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
    where\n- F: RefUnwindSafe,\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
    where\n- F: Send,\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
    where\n- F: Sync,\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
    where\n- F: Unpin,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ F: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
    where\n+ F: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
    where\n+ F: Send,\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
    where\n+ F: Sync,\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
    where\n+ F: Unpin,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoIter.html", "unified_diff": "@@ -1,227 +1,227 @@\n-IntoIter in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoIter

    1.36.0 \u00b7 source
    pub struct IntoIter<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the entries of a BTreeMap, sorted by key.

    \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+IntoIter in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoIter

    1.36.0 \u00b7 source
    pub struct IntoIter<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the entries of a BTreeMap, sorted by key.

    \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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>

    source\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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.IntoKeys.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoKeys.html", "unified_diff": "@@ -1,228 +1,228 @@\n-IntoKeys in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoKeys

    1.54.0 \u00b7 source
    pub struct IntoKeys<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the keys of a BTreeMap.

    \n+IntoKeys in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoKeys

    1.54.0 \u00b7 source
    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

    1.54.0 \u00b7 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

    1.54.0 \u00b7 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);
    \n-
    1.54.0 \u00b7 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
    1.54.0 \u00b7 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
    1.54.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>

    source\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+

    1.54.0 \u00b7 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
    1.54.0 \u00b7 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
    1.54.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.54.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.54.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.IntoValues.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoValues.html", "unified_diff": "@@ -1,226 +1,226 @@\n-IntoValues in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoValues

    1.54.0 \u00b7 source
    pub struct IntoValues<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the values of a BTreeMap.

    \n+IntoValues in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IntoValues

    1.54.0 \u00b7 source
    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

    1.54.0 \u00b7 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

    1.54.0 \u00b7 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);
    \n-
    1.54.0 \u00b7 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
    1.54.0 \u00b7 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
    1.54.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>

    source\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+

    1.54.0 \u00b7 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
    1.54.0 \u00b7 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
    1.54.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.54.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.54.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Iter.html", "unified_diff": "@@ -1,224 +1,224 @@\n Iter in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct Iter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Iter<'_, 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
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Iter<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.IterMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IterMut.html", "unified_diff": "@@ -1,219 +1,219 @@\n IterMut in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct IterMut

    1.36.0 \u00b7 source
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for IterMut<'a, K, V>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for IterMut<'a, K, V>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.Keys.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Keys.html", "unified_diff": "@@ -1,224 +1,224 @@\n Keys in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct Keys

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Keys<'_, 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
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Keys<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Keys<'a, K, V>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Keys<'a, K, V>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html", "unified_diff": "@@ -1,43 +1,43 @@\n-OccupiedEntry in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct OccupiedEntry

    1.36.0 \u00b7 source
    pub struct OccupiedEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into an occupied entry in a BTreeMap.\n+OccupiedEntry in alloc::collections::btree_map - Rust

    alloc::collections::btree_map

    Struct OccupiedEntry

    1.36.0 \u00b7 source
    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\");
    \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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn get(&self) -> &V

    Gets a reference to the value in the entry.

    \n+
    1.0.0 \u00b7 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 }
    \n-
    1.0.0 \u00b7 source

    pub fn get_mut(&mut self) -> &mut V

    Gets a mutable reference to the value in the entry.

    \n+
    1.0.0 \u00b7 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@@ -48,15 +48,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);
    \n-
    1.0.0 \u00b7 source

    pub fn into_mut(self) -> &'a mut V

    Converts the entry into a mutable reference to its value.

    \n+
    1.0.0 \u00b7 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@@ -88,29 +88,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\"]);
    \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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.OccupiedError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedError.html", "unified_diff": "@@ -1,32 +1,32 @@\n-OccupiedError in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct OccupiedError

    source
    pub struct OccupiedError<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n+OccupiedError in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct OccupiedError

    source
    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)>

    Returns 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- V: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
    where\n- V: RefUnwindSafe,\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
    where\n- V: Send,\n- A: Send,\n- K: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
    where\n- V: Sync,\n- A: Sync,\n- K: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
    where\n- V: Unpin,\n- A: 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)>

    Returns 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+ V: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
    where\n+ V: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
    where\n+ V: Send,\n+ A: Send,\n+ K: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
    where\n+ V: Sync,\n+ A: Sync,\n+ K: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
    where\n+ V: Unpin,\n+ A: 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.Range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Range.html", "unified_diff": "@@ -1,221 +1,221 @@\n Range in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct Range

    1.36.0 \u00b7 source
    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

    1.17.0 \u00b7 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
    1.17.0 \u00b7 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

    1.17.0 \u00b7 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
    1.17.0 \u00b7 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);
    \n-
    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Range<'a, K, V>

    source\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+

    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Range<'a, K, V>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.RangeMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.RangeMut.html", "unified_diff": "@@ -1,216 +1,216 @@\n RangeMut in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct RangeMut

    1.36.0 \u00b7 source
    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

    1.17.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    impl<K, V> Default for RangeMut<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::RangeMut.

    \n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    impl<K, V> Default for RangeMut<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::RangeMut.

    \n \n
    let iter: btree_map::RangeMut<'_, u8, u8> = Default::default();\n assert_eq!(iter.count(), 0);
    \n-
    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for RangeMut<'a, K, V>

    source\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+

    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for RangeMut<'a, K, V>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html", "unified_diff": "@@ -1,18 +1,18 @@\n UnorderedKeyError in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct UnorderedKeyError

    source
    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)>

    Returns 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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)>

    Returns 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.VacantEntry.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.VacantEntry.html", "unified_diff": "@@ -1,10 +1,10 @@\n-VacantEntry in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct VacantEntry

    1.36.0 \u00b7 source
    pub struct VacantEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into a vacant entry in a BTreeMap.\n+VacantEntry in alloc::collections::btree_map - Rust

    alloc::collections::btree_map

    Struct VacantEntry

    1.36.0 \u00b7 source
    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\");
    \n
    1.12.0 \u00b7 source

    pub fn into_key(self) -> K

    Take ownership of the key.

    \n@@ -13,43 +13,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 }
    \n-
    1.0.0 \u00b7 source

    pub fn insert(self, value: V) -> &'a mut V

    Sets the value of the entry with the VacantEntry\u2019s key,\n+

    1.0.0 \u00b7 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);
    \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- K: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
    where\n- K: RefUnwindSafe,\n- A: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
    where\n- K: Send,\n- A: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
    where\n- K: Sync,\n- A: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
    where\n- K: Unpin,\n- A: 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+ K: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
    where\n+ K: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
    where\n+ K: Send,\n+ A: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
    where\n+ K: Sync,\n+ A: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
    where\n+ K: Unpin,\n+ A: 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.Values.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Values.html", "unified_diff": "@@ -1,222 +1,222 @@\n Values in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct Values

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Values<'_, 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
    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

    1.0.0 \u00b7 source\u00a7

    impl<K, V> Clone for Values<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Values<'a, K, V>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for Values<'a, K, V>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_map/struct.ValuesMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ValuesMut.html", "unified_diff": "@@ -1,217 +1,217 @@\n ValuesMut in alloc::collections::btree_map - Rust
    alloc::collections::btree_map

    Struct ValuesMut

    1.36.0 \u00b7 source
    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

    1.10.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    impl<K, V> Default for ValuesMut<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::ValuesMut.

    \n+

    Trait Implementations\u00a7

    1.10.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    impl<K, V> Default for ValuesMut<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::ValuesMut.

    \n \n
    let iter: btree_map::ValuesMut<'_, u8, u8> = Default::default();\n assert_eq!(iter.count(), 0);
    \n-
    1.10.0 \u00b7 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
    1.10.0 \u00b7 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
    1.10.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for ValuesMut<'a, K, V>

    source\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+

    1.10.0 \u00b7 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
    1.10.0 \u00b7 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
    1.10.0 \u00b7 source\u00a7

    impl<'a, K, V> Iterator for ValuesMut<'a, K, V>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.BTreeSet.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.BTreeSet.html", "unified_diff": "@@ -1,13 +1,13 @@\n-BTreeSet in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct BTreeSet

    1.36.0 \u00b7 source
    pub struct BTreeSet<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered set based on a B-Tree.

    \n+BTreeSet in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct BTreeSet

    1.36.0 \u00b7 source
    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 and BTreeSet::into_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@@ -42,24 +42,24 @@\n let set = BTreeSet::from([1, 2, 3]);
    \n

    Implementations\u00a7

    source\u00a7

    impl<T> BTreeSet<T>

    1.0.0 (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();
    \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);
    \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@@ -76,15 +76,15 @@\n println!(\"{elem}\");\n }\n assert_eq!(Some(&5), set.range(4..).next());

    \n
    1.0.0 \u00b7 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@@ -96,15 +96,15 @@\n \n let diff: Vec<_> = a.difference(&b).cloned().collect();\n assert_eq!(diff, [1]);
    \n
    1.0.0 \u00b7 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@@ -116,15 +116,15 @@\n \n let sym_diff: Vec<_> = a.symmetric_difference(&b).cloned().collect();\n assert_eq!(sym_diff, [1, 3]);
    \n
    1.0.0 \u00b7 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@@ -133,92 +133,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]);
    \n
    1.0.0 \u00b7 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]);
    \n
    1.0.0 \u00b7 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());
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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@@ -226,70 +226,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);
    \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));
    \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));
    \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());
    \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());
    \n-
    1.0.0 \u00b7 source

    pub fn insert(&mut self, value: T) -> bool
    where\n- T: Ord,

    Adds a value to the set.

    \n+
    1.0.0 \u00b7 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@@ -298,69 +298,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);
    \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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \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);
    \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()));
    \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+ 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@@ -376,17 +376,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));
    \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@@ -404,16 +404,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));
    \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@@ -435,33 +435,33 @@\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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n+
    1.0.0 (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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n+
    1.0.0 (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());
    \n-
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, T>
    where\n- T: 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 element\n+

    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, T>
    where\n+ T: 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 element\n greater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap before the smallest element greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap before the smallest element greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap before the smallest element in the set.

    \n@@ -480,17 +480,17 @@\n let cursor = set.lower_bound(Bound::Excluded(&2));\n assert_eq!(cursor.peek_prev(), Some(&2));\n assert_eq!(cursor.peek_next(), Some(&3));\n \n let cursor = set.lower_bound(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), None);\n assert_eq!(cursor.peek_next(), Some(&1));
    \n-
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, T, A>
    where\n- T: 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 element\n+

    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, T, A>
    where\n+ T: 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 element\n greater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap before the smallest element greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap before the smallest element greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap before the smallest element in the set.

    \n@@ -509,17 +509,17 @@\n let mut cursor = set.lower_bound_mut(Bound::Excluded(&2));\n assert_eq!(cursor.peek_prev(), Some(&2));\n assert_eq!(cursor.peek_next(), Some(&3));\n \n let mut cursor = set.lower_bound_mut(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), None);\n assert_eq!(cursor.peek_next(), Some(&1));
    \n-
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, T>
    where\n- T: 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 element\n+

    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, T>
    where\n+ T: 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 element\n smaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap after the greatest element smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap after the greatest element smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap after the greatest element in the set.

    \n@@ -540,18 +540,18 @@\n assert_eq!(cursor.peek_next(), Some(&3));\n \n let cursor = set.upper_bound(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), Some(&4));\n assert_eq!(cursor.peek_next(), None);
    \n
    source

    pub unsafe fn upper_bound_mut<Q>(\n &mut self,\n- bound: Bound<&Q>,\n+ bound: Bound<&Q>,\n ) -> CursorMut<'_, T, A>
    where\n- T: 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 element\n+ T: 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 element\n smaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap after the greatest element smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap after the greatest element smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap after the greatest element in the set.

    \n@@ -570,91 +570,91 @@\n let mut cursor = unsafe { set.upper_bound_mut(Bound::Excluded(&3)) };\n assert_eq!(cursor.peek_prev(), Some(&2));\n assert_eq!(cursor.peek_next(), Some(&3));\n \n let mut cursor = unsafe { set.upper_bound_mut(Bound::Unbounded) };\n assert_eq!(cursor.peek_prev(), Some(&4));\n assert_eq!(cursor.peek_next(), None);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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]));
    \n-
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the & operator.
    1.0.0 \u00b7 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+
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the & operator.
    1.0.0 \u00b7 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]));
    \n-
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the | operator.
    1.0.0 \u00b7 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+
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the | operator.
    1.0.0 \u00b7 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]));
    \n-
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the ^ operator.
    1.0.0 \u00b7 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, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the ^ operator.
    1.0.0 \u00b7 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, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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 in ascending order.

    \n+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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 in ascending order.

    \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]);
    \n-
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

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

    impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>

    source\u00a7

    fn eq(&self, other: &BTreeSet<T, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.0.0 \u00b7 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+
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

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

    impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>

    source\u00a7

    fn eq(&self, other: &BTreeSet<T, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.0.0 \u00b7 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]));
    \n-
    source\u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the - operator.
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    type Output = BTreeSet<T, A>

    The resulting type after applying the - operator.
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Cursor.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Cursor.html", "unified_diff": "@@ -1,34 +1,34 @@\n Cursor in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Cursor

    source
    pub struct Cursor<'a, K: 'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)
    Expand description

    A cursor over a BTreeSet.

    \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 set, and can\n operate on the two immediately adjacent elements.

    \n

    A Cursor is created with the BTreeSet::lower_bound and BTreeSet::upper_bound methods.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K> Cursor<'a, K>

    source

    pub fn next(&mut self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K> Cursor<'a, K>

    source

    pub fn next(&mut self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the end of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n+

    source

    pub fn prev(&mut self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the start of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to next element without moving the cursor.

    \n+
    source

    pub fn peek_next(&self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to next element without moving the cursor.

    \n

    If the cursor is at the end of the set then None is returned

    \n-
    source

    pub fn peek_prev(&self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n+
    source

    pub fn peek_prev(&self) -> Option<&'a K>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n

    If the cursor is at the start of the set then None is returned.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, K: Clone + 'a> Clone for Cursor<'a, K>

    source\u00a7

    fn clone(&self) -> Cursor<'a, K>

    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> Debug for Cursor<'_, K>

    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> Freeze for Cursor<'a, K>

    \u00a7

    impl<'a, K> RefUnwindSafe for Cursor<'a, K>
    where\n- K: RefUnwindSafe,

    \u00a7

    impl<'a, K> Send for Cursor<'a, K>
    where\n- K: Sync,

    \u00a7

    impl<'a, K> Sync for Cursor<'a, K>
    where\n- K: Sync,

    \u00a7

    impl<'a, K> Unpin for Cursor<'a, K>

    \u00a7

    impl<'a, K> UnwindSafe for Cursor<'a, K>
    where\n- K: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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, K: Clone + 'a> Clone for Cursor<'a, K>

    source\u00a7

    fn clone(&self) -> Cursor<'a, K>

    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> Debug for Cursor<'_, K>

    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> Freeze for Cursor<'a, K>

    \u00a7

    impl<'a, K> RefUnwindSafe for Cursor<'a, K>
    where\n+ K: RefUnwindSafe,

    \u00a7

    impl<'a, K> Send for Cursor<'a, K>
    where\n+ K: Sync,

    \u00a7

    impl<'a, K> Sync for Cursor<'a, K>
    where\n+ K: Sync,

    \u00a7

    impl<'a, K> Unpin for Cursor<'a, K>

    \u00a7

    impl<'a, K> UnwindSafe for Cursor<'a, K>
    where\n+ K: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.CursorMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMut.html", "unified_diff": "@@ -3,25 +3,25 @@\n safely mutate the set 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 set, and can\n operate on the two immediately adjacent elements.

    \n

    A CursorMut is created with the BTreeSet::lower_bound_mut and BTreeSet::upper_bound_mut\n methods.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A> CursorMut<'a, T, A>

    source

    pub fn next(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A> CursorMut<'a, T, A>

    source

    pub fn next(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the end of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n+

    source

    pub fn prev(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the start of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the next element without moving the cursor.

    \n+
    source

    pub fn peek_next(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the next element without moving the cursor.

    \n

    If the cursor is at the end of the set then None is returned.

    \n-
    source

    pub fn peek_prev(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n+
    source

    pub fn peek_prev(&mut self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n

    If the cursor is at the start of the set then None is returned.

    \n
    source

    pub fn as_cursor(&self) -> Cursor<'_, T>

    \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
    source

    pub unsafe fn with_mutable_key(self) -> CursorMutKey<'a, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Converts the cursor into a CursorMutKey, which allows mutating\n@@ -29,15 +29,15 @@\n

    \u00a7Safety
    \n

    Since this cursor allows mutating elements, you must ensure that the\n BTreeSet invariants are maintained. Specifically:

    \n
      \n
    • The newly inserted element must be unique in the tree.
    • \n
    • All elements in the tree must remain in sorted order.
    • \n
    \n-
    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> CursorMut<'a, T, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, value: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+

    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> CursorMut<'a, T, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, value: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 BTreeSet invariants are maintained.\n Specifically:

    \n
      \n@@ -51,46 +51,46 @@\n
      \u00a7Safety
      \n

      You must ensure that the BTreeSet invariants are maintained.\n Specifically:

      \n
        \n
      • The newly inserted element must be unique in the tree.
      • \n
      • All elements in the tree must remain in sorted order.
      • \n
      \n-
    source

    pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+

    source

    pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 element is not greater than the element before the\n cursor (if any), or if it not less than the element after the cursor (if\n any), then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the elements of the set.

    \n-
    source

    pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+invalidate the Ord invariant between the elements of the set.

    \n+
    source

    pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 element is not greater than the element before the\n cursor (if any), or if it not less than the element after the cursor (if\n any), then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the elements of the set.

    \n-
    source

    pub fn remove_next(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeSet.

    \n+invalidate the Ord invariant between the elements of the set.

    \n+
    source

    pub fn remove_next(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeSet.

    \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<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the preceding element from the BTreeSet.

    \n+
    source

    pub fn remove_prev(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the preceding element from the BTreeSet.

    \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, A> Debug for CursorMut<'_, K, 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, A> Freeze for CursorMut<'a, K, A>

    \u00a7

    impl<'a, K, A> RefUnwindSafe for CursorMut<'a, K, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,

    \u00a7

    impl<'a, K, A> Send for CursorMut<'a, K, A>
    where\n- A: Send,\n- K: Send,

    \u00a7

    impl<'a, K, A> Sync for CursorMut<'a, K, A>
    where\n- A: Sync,\n- K: Sync,

    \u00a7

    impl<'a, K, A> Unpin for CursorMut<'a, K, A>

    \u00a7

    impl<'a, K, A = Global> !UnwindSafe for CursorMut<'a, K, 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, A> Debug for CursorMut<'_, K, 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, A> Freeze for CursorMut<'a, K, A>

    \u00a7

    impl<'a, K, A> RefUnwindSafe for CursorMut<'a, K, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,

    \u00a7

    impl<'a, K, A> Send for CursorMut<'a, K, A>
    where\n+ A: Send,\n+ K: Send,

    \u00a7

    impl<'a, K, A> Sync for CursorMut<'a, K, A>
    where\n+ A: Sync,\n+ K: Sync,

    \u00a7

    impl<'a, K, A> Unpin for CursorMut<'a, K, A>

    \u00a7

    impl<'a, K, A = Global> !UnwindSafe for CursorMut<'a, K, 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html", "unified_diff": "@@ -11,32 +11,32 @@\n

    \u00a7Safety

    \n

    Since this cursor allows mutating elements, you must ensure that the\n BTreeSet invariants are maintained. Specifically:

    \n
      \n
    • The newly inserted element must be unique in the tree.
    • \n
    • All elements in the tree must remain in sorted order.
    • \n
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A> CursorMutKey<'a, T, A>

    source

    pub fn next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A> CursorMutKey<'a, T, A>

    source

    pub fn next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the end of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n+

    source

    pub fn prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the element that it\n moved over.

    \n

    If the cursor is already at the start of the set then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the next element without moving the cursor.

    \n+
    source

    pub fn peek_next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the next element without moving the cursor.

    \n

    If the cursor is at the end of the set then None is returned

    \n-
    source

    pub fn peek_prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n+
    source

    pub fn peek_prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the previous element without moving the cursor.

    \n

    If the cursor is at the start of the set then None is returned.

    \n
    source

    pub fn as_cursor(&self) -> Cursor<'_, T>

    \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, T: Ord, A: Allocator + Clone> CursorMutKey<'a, T, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, value: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+

    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> CursorMutKey<'a, T, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, value: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 BTreeSet invariants are maintained.\n Specifically:

    \n
      \n@@ -50,46 +50,46 @@\n
      \u00a7Safety
      \n

      You must ensure that the BTreeSet invariants are maintained.\n Specifically:

      \n
        \n
      • The newly inserted element must be unique in the tree.
      • \n
      • All elements in the tree must remain in sorted order.
      • \n
      \n-
    source

    pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+

    source

    pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 element is not greater than the element before the\n cursor (if any), or if it not less than the element after the cursor (if\n any), then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the elements of the set.

    \n-
    source

    pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set in the gap that the\n+invalidate the Ord invariant between the elements of the set.

    \n+
    source

    pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new element into the set 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 element is not greater than the element before the\n cursor (if any), or if it not less than the element after the cursor (if\n any), then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the elements of the set.

    \n-
    source

    pub fn remove_next(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeSet.

    \n+invalidate the Ord invariant between the elements of the set.

    \n+
    source

    pub fn remove_next(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeSet.

    \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<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the preceding element from the BTreeSet.

    \n+
    source

    pub fn remove_prev(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the preceding element from the BTreeSet.

    \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, A> Debug for CursorMutKey<'_, K, 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, A> Freeze for CursorMutKey<'a, K, A>

    \u00a7

    impl<'a, K, A> RefUnwindSafe for CursorMutKey<'a, K, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,

    \u00a7

    impl<'a, K, A> Send for CursorMutKey<'a, K, A>
    where\n- A: Send,\n- K: Send,

    \u00a7

    impl<'a, K, A> Sync for CursorMutKey<'a, K, A>
    where\n- A: Sync,\n- K: Sync,

    \u00a7

    impl<'a, K, A> Unpin for CursorMutKey<'a, K, A>

    \u00a7

    impl<'a, K, A = Global> !UnwindSafe for CursorMutKey<'a, K, 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, A> Debug for CursorMutKey<'_, K, 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, A> Freeze for CursorMutKey<'a, K, A>

    \u00a7

    impl<'a, K, A> RefUnwindSafe for CursorMutKey<'a, K, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,

    \u00a7

    impl<'a, K, A> Send for CursorMutKey<'a, K, A>
    where\n+ A: Send,\n+ K: Send,

    \u00a7

    impl<'a, K, A> Sync for CursorMutKey<'a, K, A>
    where\n+ A: Sync,\n+ K: Sync,

    \u00a7

    impl<'a, K, A> Unpin for CursorMutKey<'a, K, A>

    \u00a7

    impl<'a, K, A = Global> !UnwindSafe for CursorMutKey<'a, K, 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Difference.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Difference.html", "unified_diff": "@@ -1,201 +1,201 @@\n-Difference in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Difference

    1.36.0 \u00b7 source
    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+Difference in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Difference

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>

    source\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

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Difference<'a, T, A>
    where\n- T: Sync,\n- A: Sync,

    \u00a7

    impl<'a, T, A> Sync for Difference<'a, T, A>
    where\n- T: Sync,\n- A: 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- T: RefUnwindSafe,\n- A: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Difference<'a, T, A>
    where\n+ T: Sync,\n+ A: Sync,

    \u00a7

    impl<'a, T, A> Sync for Difference<'a, T, A>
    where\n+ T: Sync,\n+ A: 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+ T: RefUnwindSafe,\n+ A: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.ExtractIf.html", "unified_diff": "@@ -1,207 +1,207 @@\n-ExtractIf in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct ExtractIf

    source
    pub struct ExtractIf<'a, T, F, A: Allocator + Clone = Global>
    where\n+ExtractIf in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct ExtractIf

    source
    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,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- F: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n- F: RefUnwindSafe,\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n- F: Send,\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n- F: Sync,\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n- F: Unpin,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ F: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n+ F: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n+ F: Send,\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n+ F: Sync,\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n+ F: Unpin,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Intersection.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Intersection.html", "unified_diff": "@@ -1,201 +1,201 @@\n-Intersection in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Intersection

    1.36.0 \u00b7 source
    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+Intersection in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Intersection

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>

    source\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

    1.0.0 \u00b7 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
    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<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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Intersection<'a, T, A>
    where\n- T: Sync,\n- A: Sync,

    \u00a7

    impl<'a, T, A> Sync for Intersection<'a, T, A>
    where\n- T: Sync,\n- A: 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- T: RefUnwindSafe,\n- A: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Intersection<'a, T, A>
    where\n+ T: Sync,\n+ A: Sync,

    \u00a7

    impl<'a, T, A> Sync for Intersection<'a, T, A>
    where\n+ T: Sync,\n+ A: 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+ T: RefUnwindSafe,\n+ A: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.IntoIter.html", "unified_diff": "@@ -1,223 +1,223 @@\n-IntoIter in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct IntoIter

    1.36.0 \u00b7 source
    pub struct IntoIter<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the items of a BTreeSet in ascending order.

    \n+IntoIter in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct IntoIter

    1.36.0 \u00b7 source
    pub struct IntoIter<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the items of a BTreeSet in ascending order.

    \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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Iter.html", "unified_diff": "@@ -1,220 +1,220 @@\n Iter in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Iter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html", "unified_diff": "@@ -1,217 +1,217 @@\n Range in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Range

    1.36.0 \u00b7 source
    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

    1.17.0 \u00b7 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
    1.17.0 \u00b7 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

    1.17.0 \u00b7 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
    1.17.0 \u00b7 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);
    \n-
    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Range<'a, T>

    source\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+

    1.17.0 \u00b7 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
    1.17.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Range<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html", "unified_diff": "@@ -1,197 +1,197 @@\n SymmetricDifference in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct SymmetricDifference

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for SymmetricDifference<'_, 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
    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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for SymmetricDifference<'_, 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
    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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.Union.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Union.html", "unified_diff": "@@ -1,197 +1,197 @@\n Union in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct Union

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Union<'_, 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
    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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord> Iterator for Union<'a, T>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Union<'_, 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
    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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T: Ord> Iterator for Union<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html", "unified_diff": "@@ -1,18 +1,18 @@\n UnorderedKeyError in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct UnorderedKeyError

    source
    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)>

    Returns 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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)>

    Returns 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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/enum.TryReserveErrorKind.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/enum.TryReserveErrorKind.html", "unified_diff": "@@ -5,22 +5,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

    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    The memory allocator returned an error

    \n

    Fields

    \u00a7layout: Layout
    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    The layout of allocation request that failed

    \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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.Cursor.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Cursor.html", "unified_diff": "@@ -1,51 +1,51 @@\n Cursor in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct Cursor

    source
    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
    source

    pub fn as_list(&self) -> &'a LinkedList<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the cursor\u2019s parent list.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.CursorMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.CursorMut.html", "unified_diff": "@@ -2,34 +2,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@@ -45,60 +45,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@@ -109,20 +109,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);
    \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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.ExtractIf.html", "unified_diff": "@@ -1,196 +1,196 @@\n ExtractIf in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct ExtractIf

    source
    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,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- F: RefUnwindSafe,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ F: RefUnwindSafe,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IntoIter.html", "unified_diff": "@@ -1,224 +1,224 @@\n IntoIter in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct IntoIter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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
    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<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

    1.0.0 \u00b7 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
    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<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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- T: Send,\n- A: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- T: Sync,\n- A: 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 + 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ T: Send,\n+ A: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ T: Sync,\n+ A: 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 + 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Iter.html", "unified_diff": "@@ -1,216 +1,216 @@\n Iter in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct Iter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Sync> Send for Iter<'_, T>

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Sync> Send for Iter<'_, T>

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.IterMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IterMut.html", "unified_diff": "@@ -1,208 +1,208 @@\n IterMut in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct IterMut

    1.36.0 \u00b7 source
    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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send> Send for IterMut<'_, T>

    1.0.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send> Send for IterMut<'_, T>

    1.0.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/linked_list/struct.LinkedList.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.LinkedList.html", "unified_diff": "@@ -83,25 +83,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-
    1.0.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the LinkedList is empty.

    \n+
    1.0.0 \u00b7 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());
    \n-
    1.0.0 \u00b7 source

    pub fn len(&self) -> usize

    Returns the length of the LinkedList.

    \n+
    1.0.0 \u00b7 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@@ -123,41 +123,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);
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the list is\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the list\n+

    1.0.0 \u00b7 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@@ -166,26 +166,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));
    \n-
    1.0.0 \u00b7 source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the list is\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the list\n+

    1.0.0 \u00b7 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@@ -206,15 +206,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);
    \n-
    1.0.0 \u00b7 source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the list is\n+

    1.0.0 \u00b7 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@@ -229,27 +229,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());
    \n-
    1.0.0 \u00b7 source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from a list and returns it, or None if\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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@@ -259,15 +259,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);
    \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@@ -277,15 +277,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);
    \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@@ -313,15 +313,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);
    \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@@ -336,15 +336,15 @@\n     true\n } else {\n     false\n });\n assert_eq!(d.pop_front(), Some(3));\n assert_eq!(d.pop_front(), None);
    \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@@ -359,49 +359,49 @@\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]);

    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\n as it avoids reallocation of the nodes of the linked list. Additionally,\n if the element type T overrides clone_from(), this will reuse the\n resources of self\u2019s elements as well.

    \n-
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> Default for LinkedList<T>

    source\u00a7

    fn default() -> Self

    Creates an empty LinkedList<T>.

    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> Default for LinkedList<T>

    source\u00a7

    fn default() -> Self

    Creates an empty LinkedList<T>.

    \n+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>

    source\u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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-
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

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

    impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>

    1.0.0 \u00b7 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: RefUnwindSafe + 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>

    source\u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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+
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

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

    impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>

    1.0.0 \u00b7 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: RefUnwindSafe + 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/struct.TryReserveError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/struct.TryReserveError.html", "unified_diff": "@@ -1,17 +1,17 @@\n TryReserveError in alloc::collections - Rust
    alloc::collections

    Struct TryReserveError

    1.57.0 \u00b7 source
    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

    1.57.0 \u00b7 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
    1.57.0 \u00b7 source\u00a7

    impl Debug for TryReserveError

    source\u00a7

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

    Formats the value using the given formatter. Read more
    1.57.0 \u00b7 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
    1.57.0 \u00b7 source\u00a7

    impl Error for TryReserveError

    1.30.0 \u00b7 source\u00a7

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

    Returns 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.
    1.57.0 \u00b7 source\u00a7

    impl PartialEq for TryReserveError

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

    impl Eq for TryReserveError

    1.57.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.57.0 \u00b7 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
    1.57.0 \u00b7 source\u00a7

    impl Debug for TryReserveError

    source\u00a7

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

    Formats the value using the given formatter. Read more
    1.57.0 \u00b7 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
    1.57.0 \u00b7 source\u00a7

    impl Error for TryReserveError

    1.30.0 \u00b7 source\u00a7

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

    Returns 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.
    1.57.0 \u00b7 source\u00a7

    impl PartialEq for TryReserveError

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

    impl Eq for TryReserveError

    1.57.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/vec_deque/struct.Drain.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Drain.html", "unified_diff": "@@ -1,212 +1,212 @@\n Drain in alloc::collections::vec_deque - Rust
    alloc::collections::vec_deque

    Struct Drain

    1.36.0 \u00b7 source
    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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.6.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>

    1.6.0 \u00b7 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- T: RefUnwindSafe,\n- A: 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- T: RefUnwindSafe,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.6.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>

    1.6.0 \u00b7 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+ T: RefUnwindSafe,\n+ A: 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+ T: RefUnwindSafe,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/vec_deque/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IntoIter.html", "unified_diff": "@@ -1,214 +1,214 @@\n IntoIter in alloc::collections::vec_deque - Rust
    alloc::collections::vec_deque

    Struct IntoIter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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
    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<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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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

    1.0.0 \u00b7 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
    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<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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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
    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>>
    \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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/vec_deque/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Iter.html", "unified_diff": "@@ -1,214 +1,214 @@\n Iter in alloc::collections::vec_deque - Rust
    alloc::collections::vec_deque

    Struct Iter

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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.82.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty vec_deque::Iter.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, 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
    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.82.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty vec_deque::Iter.

    \n \n
    let iter: vec_deque::Iter<'_, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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
    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 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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/vec_deque/struct.IterMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IterMut.html", "unified_diff": "@@ -1,210 +1,210 @@\n IterMut in alloc::collections::vec_deque - Rust
    alloc::collections::vec_deque

    Struct IterMut

    1.36.0 \u00b7 source
    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
    1.82.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty vec_deque::IterMut.

    \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.82.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty vec_deque::IterMut.

    \n \n
    let iter: vec_deque::IterMut<'_, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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
    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 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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/collections/vec_deque/struct.VecDeque.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.VecDeque.html", "unified_diff": "@@ -14,114 +14,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>

    1.0.0 (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();
    \n-
    1.0.0 \u00b7 source

    pub fn with_capacity(capacity: usize) -> VecDeque<T>

    Creates an empty deque with space for at least capacity elements.

    \n+
    1.0.0 \u00b7 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);
    \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)?;
    \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();
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn get(&self, index: usize) -> Option<&T>

    Provides a reference to the element at the given index.

    \n+
    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn get_mut(&mut self, index: usize) -> Option<&mut T>

    Provides a mutable reference to the element at the given index.

    \n+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn swap(&mut self, i: usize, j: usize)

    Swaps elements at indices i and j.

    \n+
    1.0.0 \u00b7 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]);
    \n-
    1.0.0 \u00b7 source

    pub fn capacity(&self) -> usize

    Returns the number of elements the deque can hold without\n+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted in the given\n+

    1.0.0 \u00b7 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);
    \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@@ -140,15 +140,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 }
    \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@@ -177,43 +177,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);
    \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);
    \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]);
    \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
    1.0.0 \u00b7 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@@ -230,15 +230,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);
    \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@@ -249,15 +249,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][..]));
    \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@@ -267,47 +267,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][..]));
    \n-
    1.0.0 \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the deque.

    \n+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the deque is empty.

    \n+
    1.0.0 \u00b7 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());
    \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);
    \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@@ -318,25 +318,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]);
    \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@@ -349,94 +349,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());
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the deque is\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the deque is\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the\n+

    1.0.0 \u00b7 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));
    \n-
    1.0.0 \u00b7 source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the deque is\n+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from the deque and returns it, or None if\n+

    1.0.0 \u00b7 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@@ -454,15 +454,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());
    \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@@ -471,15 +471,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]);
    \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@@ -488,15 +488,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]);
    \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@@ -504,15 +504,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']);
    \n-
    1.0.0 \u00b7 source

    pub fn remove(&mut self, index: usize) -> Option<T>

    Removes and returns the element at index from the deque.\n+

    1.0.0 \u00b7 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@@ -520,16 +520,16 @@\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]);
    \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@@ -547,15 +547,15 @@\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, []);
    \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@@ -571,15 +571,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]);
    \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@@ -587,15 +587,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]);
    \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@@ -608,15 +608,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]);
    \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@@ -651,15 +651,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 }
    \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@@ -676,15 +676,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]);
    \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@@ -701,22 +701,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]);
    \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@@ -738,26 +738,26 @@\n let num = 42;\n let idx = deque.partition_point(|&x| x <= num);\n // If `num` is unique, `s.partition_point(|&x| x < num)` (with `<`) is equivalent to\n // `s.binary_search(&num).unwrap_or_else(|x| x)`, but using `<=` may allow `insert`\n // to shift less elements.\n deque.insert(idx, num);\n assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    \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@@ -768,27 +768,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)));
    \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@@ -800,16 +800,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)));
    \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@@ -830,15 +830,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]);
    \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@@ -847,30 +847,30 @@\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]);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>

    source\u00a7

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

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\n as it avoids reallocation if possible.

    \n-
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> Default for VecDeque<T>

    source\u00a7

    fn default() -> VecDeque<T>

    Creates an empty deque.

    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> Default for VecDeque<T>

    source\u00a7

    fn default() -> VecDeque<T>

    Creates an empty deque.

    \n+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \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@@ -883,54 +883,54 @@\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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Index<usize> for VecDeque<T, A>

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>

    source\u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Index<usize> for VecDeque<T, A>

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>

    source\u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>

    source\u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\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
    1.0.0 \u00b7 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-
    source\u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

    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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

    impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    1.0.0 \u00b7 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,

    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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

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

    impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/ffi/c_str/struct.CString.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.CString.html", "unified_diff": "@@ -1,45 +1,45 @@\n CString in alloc::ffi::c_str - Rust
    alloc::ffi::c_str

    Struct CString

    source
    pub struct CString { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (c_str_module #112134)
    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+a &str, since both implement that trait).\n You can create a CString from a literal with CString::from(c\"Text\").

    \n-

    The CString::new method will actually check that the provided &[u8]\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 }
    \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 }
    \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 }
    \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 }

    \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);
    \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']);
    \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']);
    \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']);
    \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']);
    \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\"));
    \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\"));
    \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 );
    \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();
    \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. The leading\n c on the string literal denotes a CStr.

    \n \n
    use std::borrow::Cow;\n \n assert_eq!(c\"Hello World\".to_string_lossy(), Cow::Borrowed(\"Hello World\"));
    \n@@ -275,20 +275,20 @@\n \n
    use std::borrow::Cow;\n \n assert_eq!(\n     c\"Hello \\xF0\\x90\\x80World\".to_string_lossy(),\n     Cow::Owned(String::from(\"Hello \ufffdWorld\")) as Cow<'_, str>\n );
    \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@@ -313,114 +313,114 @@\n let ptr = hello.as_ptr();\n unsafe {\n // `ptr` is valid because `hello` is in scope\n *ptr;\n }
    \n

    This way, the lifetime of the CString in hello encompasses\n the lifetime of ptr and the unsafe block.

    \n-
    1.79.0 \u00b7 source

    pub fn count_bytes(&self) -> usize

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n+
    1.79.0 \u00b7 source

    pub fn count_bytes(&self) -> usize

    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
    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);
    \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());\n assert!(c\"\".is_empty());
    \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\");
    \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\");
    \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\"));
    \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\"));
    \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
    1.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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

    source\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-
    1.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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,

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

    impl PartialEq for CString

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.64.0 \u00b7 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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.64.0 \u00b7 source\u00a7

    impl Eq for CString

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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,

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

    impl PartialEq for CString

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.64.0 \u00b7 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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

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

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.64.0 \u00b7 source\u00a7

    impl Eq for CString

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    source\u00a7

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

    source\u00a7

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

    The type returned 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-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html", "unified_diff": "@@ -3,49 +3,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();
    \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());
    \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());
    \n-

    Trait Implementations\u00a7

    1.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for FromVecWithNulError

    source\u00a7

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

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

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for FromVecWithNulError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for FromVecWithNulError

    source\u00a7

    fn eq(&self, other: &FromVecWithNulError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for FromVecWithNulError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/ffi/c_str/struct.IntoStringError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.IntoStringError.html", "unified_diff": "@@ -3,22 +3,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

    1.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for IntoStringError

    source\u00a7

    fn eq(&self, other: &IntoStringError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for IntoStringError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for IntoStringError

    source\u00a7

    fn eq(&self, other: &IntoStringError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for IntoStringError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/ffi/c_str/struct.NulError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.NulError.html", "unified_diff": "@@ -3,39 +3,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();
    \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);
    \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\");
    \n-

    Trait Implementations\u00a7

    1.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for NulError

    source\u00a7

    fn eq(&self, other: &NulError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for NulError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.64.0 \u00b7 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
    1.64.0 \u00b7 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)>

    Returns 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
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for NulError

    source\u00a7

    fn eq(&self, other: &NulError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.64.0 \u00b7 source\u00a7

    impl Eq for NulError

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/ffi/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/index.html", "unified_diff": "@@ -2,15 +2,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@@ -23,15 +23,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@@ -53,30 +53,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-doc/html/alloc/ffi/struct.CString.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/struct.CString.html", "unified_diff": "@@ -1,45 +1,45 @@\n CString in alloc::ffi - Rust
    alloc::ffi

    Struct CString

    1.64.0 \u00b7 source
    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+a &str, since both implement that trait).\n You can create a CString from a literal with CString::from(c\"Text\").

    \n-

    The CString::new method will actually check that the provided &[u8]\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 }
    \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 }
    \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 }
    \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 }

    \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);
    \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']);
    \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']);
    \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']);
    \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']);
    \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\"));
    \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\"));
    \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 );
    \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();
    \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. The leading\n c on the string literal denotes a CStr.

    \n \n
    use std::borrow::Cow;\n \n assert_eq!(c\"Hello World\".to_string_lossy(), Cow::Borrowed(\"Hello World\"));
    \n@@ -275,20 +275,20 @@\n \n
    use std::borrow::Cow;\n \n assert_eq!(\n     c\"Hello \\xF0\\x90\\x80World\".to_string_lossy(),\n     Cow::Owned(String::from(\"Hello \ufffdWorld\")) as Cow<'_, str>\n );
    \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@@ -313,114 +313,114 @@\n let ptr = hello.as_ptr();\n unsafe {\n // `ptr` is valid because `hello` is in scope\n *ptr;\n }
    \n

    This way, the lifetime of the CString in hello encompasses\n the lifetime of ptr and the unsafe block.

    \n-
    1.79.0 \u00b7 source

    pub fn count_bytes(&self) -> usize

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n+
    1.79.0 \u00b7 source

    pub fn count_bytes(&self) -> usize

    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
    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);
    \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());\n assert!(c\"\".is_empty());
    \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\");
    \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\");
    \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\"));
    \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\"));
    \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
    1.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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

    source\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-
    1.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.64.0 \u00b7 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

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.64.0 \u00b7 source\u00a7

    impl Eq for CString

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.64.0 \u00b7 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

    source\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
    1.64.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.64.0 \u00b7 source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.64.0 \u00b7 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

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.64.0 \u00b7 source\u00a7

    impl Eq for CString

    1.64.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/derive.Debug.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/derive.Debug.html", "unified_diff": "@@ -1,2 +1,2 @@\n-Debug in alloc::fmt - Rust
    alloc::fmt

    Derive Macro Debug

    1.38.0 \u00b7 source
    #[derive(Debug)]
    Expand description

    Derive macro generating an impl of the trait Debug.

    \n+Debug in alloc::fmt - Rust
    alloc::fmt

    Derive Macro Debug

    1.38.0 \u00b7 source
    #[derive(Debug)]
    Expand description

    Derive macro generating an impl of the trait Debug.

    \n
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html", "unified_diff": "@@ -1,22 +1,22 @@\n-Alignment in alloc::fmt - Rust
    alloc::fmt

    Enum Alignment

    1.36.0 \u00b7 source
    pub enum Alignment {\n+Alignment in alloc::fmt - Rust
    alloc::fmt

    Enum Alignment

    1.36.0 \u00b7 source
    pub enum Alignment {\n     Left,\n     Right,\n     Center,\n }
    Expand description

    Possible alignments returned by Formatter::align

    \n

    Variants\u00a7

    \u00a71.36.0

    Left

    Indication that contents should be left-aligned.

    \n
    \u00a71.36.0

    Right

    Indication that contents should be right-aligned.

    \n
    \u00a71.36.0

    Center

    Indication that contents should be center-aligned.

    \n-

    Trait Implementations\u00a7

    1.28.0 \u00b7 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
    1.28.0 \u00b7 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
    1.28.0 \u00b7 source\u00a7

    impl PartialEq for Alignment

    source\u00a7

    fn eq(&self, other: &Alignment) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.28.0 \u00b7 source\u00a7

    impl Copy for Alignment

    1.28.0 \u00b7 source\u00a7

    impl Eq for Alignment

    1.28.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.28.0 \u00b7 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
    1.28.0 \u00b7 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
    1.28.0 \u00b7 source\u00a7

    impl PartialEq for Alignment

    source\u00a7

    fn eq(&self, other: &Alignment) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.28.0 \u00b7 source\u00a7

    impl Copy for Alignment

    1.28.0 \u00b7 source\u00a7

    impl Eq for Alignment

    1.28.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/fn.format.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/fn.format.html", "unified_diff": "@@ -1,9 +1,9 @@\n format in alloc::fmt - Rust
    alloc::fmt

    Function format

    1.36.0 \u00b7 source
    pub fn format(args: Arguments<'_>) -> String
    Expand description

    Takes an Arguments struct and returns the resulting 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!\");
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html", "unified_diff": "@@ -1,9 +1,9 @@\n-from_fn in alloc::fmt - Rust
    alloc::fmt

    Function from_fn

    source
    pub fn from_fn<F>(f: F) -> FromFn<F>
    where\n- F: Fn(&mut Formatter<'_>) -> Result<(), Error>,
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)
    Expand description

    Creates a type whose fmt::Debug and fmt::Display impls are provided with the function\n+from_fn in alloc::fmt - Rust

    alloc::fmt

    Function from_fn

    source
    pub fn from_fn<F>(f: F) -> FromFn<F>
    where\n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>,
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)
    Expand description

    Creates a type whose fmt::Debug and fmt::Display impls are provided with the function\n f.

    \n

    \u00a7Examples

    \n
    #![feature(debug_closure_helpers)]\n use std::fmt;\n \n let value = 'a';\n assert_eq!(format!(\"{}\", value), \"a\");\n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html", "unified_diff": "@@ -1,21 +1,21 @@\n-write in alloc::fmt - Rust
    alloc::fmt

    Function write

    1.36.0 \u00b7 source
    pub fn write(output: &mut dyn Write, args: Arguments<'_>) -> Result<(), Error>
    Expand description

    Takes an output stream and an Arguments struct that can be precompiled with\n+write in alloc::fmt - Rust

    alloc::fmt

    Function write

    1.36.0 \u00b7 source
    pub fn write(output: &mut dyn Write, args: Arguments<'_>) -> Result<(), Error>
    Expand description

    Takes an output stream and an Arguments struct that can be precompiled with\n 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!\");
    \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!\");
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/index.html", "unified_diff": "@@ -83,17 +83,17 @@\n println!(\"Hello {:width$}!\", \"x\", width = 5);\n let width = 5;\n println!(\"Hello {:width$}!\", \"x\");
    \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@@ -270,24 +270,24 @@\n precision := count | '*'\n type := '' | '?' | 'x?' | 'X?' | identifier\n count := parameter | integer\n parameter := argument '$'
    \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@@ -309,17 +309,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@@ -391,25 +391,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.

    \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\");
    \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\");
    \n

    \u00a7eprint!

    \n

    The eprint! and eprintln! macros are identical to\n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html", "unified_diff": "@@ -1,24 +1,24 @@\n-Arguments in alloc::fmt - Rust

    alloc::fmt

    Struct Arguments

    1.36.0 \u00b7 source
    pub struct Arguments<'a> { /* private fields */ }
    Expand description

    This structure represents a safely precompiled version of a format string\n+Arguments in alloc::fmt - Rust

    alloc::fmt

    Struct Arguments

    1.36.0 \u00b7 source
    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);
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Arguments<'a>

    1.52.0 (const: unstable) \u00b7 source

    pub fn as_str(&self) -> Option<&'static str>

    Gets 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>

    Gets 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@@ -40,21 +40,21 @@\n write_str(&args.to_string());\n }\n }

    \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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Arguments<'a>

    source\u00a7

    fn clone(&self) -> Arguments<'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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Copy for Arguments<'a>

    1.0.0 \u00b7 source\u00a7

    impl !Send for Arguments<'_>

    1.0.0 \u00b7 source\u00a7

    impl !Sync for Arguments<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Arguments<'a>

    \u00a7

    impl<'a> RefUnwindSafe 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Arguments<'a>

    source\u00a7

    fn clone(&self) -> Arguments<'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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Copy for Arguments<'a>

    1.0.0 \u00b7 source\u00a7

    impl !Send for Arguments<'_>

    1.0.0 \u00b7 source\u00a7

    impl !Sync for Arguments<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Arguments<'a>

    \u00a7

    impl<'a> RefUnwindSafe 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.DebugList.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugList.html", "unified_diff": "@@ -1,8 +1,8 @@\n-DebugList in alloc::fmt - Rust
    alloc::fmt

    Struct DebugList

    1.36.0 \u00b7 source
    pub struct DebugList<'a, 'b>
    where\n+DebugList in alloc::fmt - Rust
    alloc::fmt

    Struct DebugList

    1.36.0 \u00b7 source
    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@@ -14,16 +14,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"[10, 11]\",\n );
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugList<'a, 'b>
    where\n- 'b: 'a,

    1.2.0 \u00b7 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,

    1.2.0 \u00b7 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@@ -34,21 +34,21 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"[[10, 11], [12, 13]]\",\n );
    \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-
    1.2.0 \u00b7 source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>
    where\n+

    1.2.0 \u00b7 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@@ -59,15 +59,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"[10, 11, 12, 13]\",\n );
    \n-
    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the list as non-exhaustive, indicating to the reader that there are some other\n+

    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the list as non-exhaustive, indicating to the reader that there are some other\n elements that are not shown in the debug representation.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n@@ -83,15 +83,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![1, 2, 3, 4])),\n     \"[1, 2, ..]\",\n );
    \n-
    1.2.0 \u00b7 source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    1.2.0 \u00b7 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@@ -101,18 +101,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"[10, 11]\",\n );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.DebugMap.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugMap.html", "unified_diff": "@@ -1,8 +1,8 @@\n-DebugMap in alloc::fmt - Rust
    alloc::fmt

    Struct DebugMap

    1.36.0 \u00b7 source
    pub struct DebugMap<'a, 'b>
    where\n+DebugMap in alloc::fmt - Rust
    alloc::fmt

    Struct DebugMap

    1.36.0 \u00b7 source
    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@@ -14,16 +14,16 @@\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 );
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugMap<'a, 'b>
    where\n- 'b: 'a,

    1.2.0 \u00b7 source

    pub fn entry(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugMap<'a, 'b>
    where\n+ 'b: 'a,

    1.2.0 \u00b7 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@@ -37,15 +37,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     r#\"{\"whole\": [(\"A\", 10), (\"B\", 11)]}\"#,\n );
    \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@@ -61,19 +61,19 @@\n }\n }\n \n assert_eq!(\n format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n r#\"{\"whole\": [(\"A\", 10), (\"B\", 11)]}\"#,\n );
    \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@@ -89,22 +89,22 @@\n }\n }\n \n assert_eq!(\n format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n r#\"{\"whole\": [(\"A\", 10), (\"B\", 11)]}\"#,\n );
    \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-
    1.2.0 \u00b7 source

    pub fn entries<K, V, I>(&mut self, entries: I) -> &mut DebugMap<'a, 'b>
    where\n+

    1.2.0 \u00b7 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@@ -116,15 +116,15 @@\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 );
    \n-
    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the map as non-exhaustive, indicating to the reader that there are some other\n+

    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the map as non-exhaustive, indicating to the reader that there are some other\n entries that are not shown in the debug representation.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<(String, i32)>);\n \n impl fmt::Debug for Foo {\n@@ -144,15 +144,15 @@\n     format!(\"{:?}\", Foo(vec![\n         (\"A\".to_string(), 10),\n         (\"B\".to_string(), 11),\n         (\"C\".to_string(), 12),\n     ])),\n     r#\"{\"A\": 10, \"B\": 11, ..}\"#,\n );
    \n-
    1.2.0 \u00b7 source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    1.2.0 \u00b7 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@@ -165,18 +165,18 @@\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 );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.DebugSet.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugSet.html", "unified_diff": "@@ -1,8 +1,8 @@\n-DebugSet in alloc::fmt - Rust
    alloc::fmt

    Struct DebugSet

    1.36.0 \u00b7 source
    pub struct DebugSet<'a, 'b>
    where\n+DebugSet in alloc::fmt - Rust
    alloc::fmt

    Struct DebugSet

    1.36.0 \u00b7 source
    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@@ -14,16 +14,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"{10, 11}\",\n );
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugSet<'a, 'b>
    where\n- 'b: 'a,

    1.2.0 \u00b7 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,

    1.2.0 \u00b7 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@@ -34,21 +34,21 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"{[10, 11], [12, 13]}\",\n );
    \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-
    1.2.0 \u00b7 source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugSet<'a, 'b>
    where\n+

    1.2.0 \u00b7 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@@ -59,15 +59,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"{10, 11, 12, 13}\",\n );
    \n-
    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the set as non-exhaustive, indicating to the reader that there are some other\n+

    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the set as non-exhaustive, indicating to the reader that there are some other\n elements that are not shown in the debug representation.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n@@ -83,15 +83,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![1, 2, 3, 4])),\n     \"{1, 2, ..}\",\n );
    \n-
    1.2.0 \u00b7 source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    1.2.0 \u00b7 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@@ -101,18 +101,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"{10, 11}\",\n );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.DebugStruct.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugStruct.html", "unified_diff": "@@ -1,8 +1,8 @@\n-DebugStruct in alloc::fmt - Rust
    alloc::fmt

    Struct DebugStruct

    1.36.0 \u00b7 source
    pub struct DebugStruct<'a, 'b>
    where\n+DebugStruct in alloc::fmt - Rust
    alloc::fmt

    Struct DebugStruct

    1.36.0 \u00b7 source
    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@@ -20,18 +20,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo { bar: 10, baz: \"Hello World\".to_string() }),\n     r#\"Foo { bar: 10, baz: \"Hello World\" }\"#,\n );
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugStruct<'a, 'b>
    where\n- 'b: 'a,

    1.2.0 \u00b7 source

    pub fn field(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugStruct<'a, 'b>
    where\n+ 'b: 'a,

    1.2.0 \u00b7 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@@ -49,23 +49,23 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, another: \"Hello World\".to_string() }),\n     r#\"Bar { bar: 10, another: \"Hello World\", nonexistent_field: 1 }\"#,\n );
    \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@@ -79,15 +79,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, hidden: 1.0 }),\n     \"Bar { bar: 10, .. }\",\n );
    \n-
    1.2.0 \u00b7 source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    1.2.0 \u00b7 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@@ -102,18 +102,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, baz: \"Hello World\".to_string() }),\n     r#\"Bar { bar: 10, baz: \"Hello World\" }\"#,\n );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.DebugTuple.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugTuple.html", "unified_diff": "@@ -1,8 +1,8 @@\n-DebugTuple in alloc::fmt - Rust
    alloc::fmt

    Struct DebugTuple

    1.36.0 \u00b7 source
    pub struct DebugTuple<'a, 'b>
    where\n+DebugTuple in alloc::fmt - Rust
    alloc::fmt

    Struct DebugTuple

    1.36.0 \u00b7 source
    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@@ -17,16 +17,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     r#\"Foo(10, \"Hello World\")\"#,\n );
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugTuple<'a, 'b>
    where\n- 'b: 'a,

    1.2.0 \u00b7 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,

    1.2.0 \u00b7 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@@ -37,19 +37,19 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     r#\"Foo(10, \"Hello World\")\"#,\n );
    \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-
    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the tuple struct as non-exhaustive, indicating to the reader that there are some\n+

    1.83.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the tuple struct as non-exhaustive, indicating to the reader that there are some\n other fields that are not shown in the debug representation.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32, String);\n \n impl fmt::Debug for Foo {\n@@ -60,15 +60,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"secret!\".to_owned())),\n     \"Foo(10, ..)\",\n );
    \n-
    1.2.0 \u00b7 source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    1.2.0 \u00b7 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@@ -80,18 +80,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     r#\"Foo(10, \"Hello World\")\"#,\n );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.Error.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.Error.html", "unified_diff": "@@ -1,8 +1,8 @@\n-Error in alloc::fmt - Rust
    alloc::fmt

    Struct Error

    1.36.0 \u00b7 source
    pub struct Error;
    Expand description

    The error type which is returned from formatting a message into a stream.

    \n+Error in alloc::fmt - Rust
    alloc::fmt

    Struct Error

    1.36.0 \u00b7 source
    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. This is because, despite the existence of this error,\n string formatting is considered an infallible operation.\n fmt() implementors should not return this Error unless they received it from their\n Formatter. The only time your code should create a new instance of this\n error is when implementing fmt::Write, in order to cancel the formatting operation when\n writing to the underlying stream fails.

    \n@@ -16,31 +16,31 @@\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 }
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Clone for Error

    source\u00a7

    fn clone(&self) -> Error

    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 Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Default for Error

    source\u00a7

    fn default() -> Error

    Returns the \u201cdefault value\u201d for a type. Read more
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for Error

    source\u00a7

    fn eq(&self, other: &Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    1.0.0 \u00b7 source\u00a7

    impl Copy for Error

    1.0.0 \u00b7 source\u00a7

    impl Eq for Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 source\u00a7

    impl Clone for Error

    source\u00a7

    fn clone(&self) -> Error

    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 Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Default for Error

    source\u00a7

    fn default() -> Error

    Returns the \u201cdefault value\u201d for a type. Read more
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for Error

    source\u00a7

    fn eq(&self, other: &Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    1.0.0 \u00b7 source\u00a7

    impl Copy for Error

    1.0.0 \u00b7 source\u00a7

    impl Eq for Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.Formatter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.Formatter.html", "unified_diff": "@@ -1,20 +1,20 @@\n-Formatter in alloc::fmt - Rust
    alloc::fmt

    Struct Formatter

    1.36.0 \u00b7 source
    pub struct Formatter<'a> { /* private fields */ }
    Expand description

    Configuration for formatting.

    \n+Formatter in alloc::fmt - Rust
    alloc::fmt

    Struct Formatter

    1.36.0 \u00b7 source
    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>

    1.0.0 \u00b7 source

    pub fn pad_integral(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Formatter<'a>

    1.0.0 \u00b7 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@@ -45,15 +45,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\");
    \n-
    1.0.0 \u00b7 source

    pub fn pad(&mut self, s: &str) -> Result<(), Error>

    Takes a string slice and emits it to the internal buffer after applying\n+

    1.0.0 \u00b7 source

    pub fn pad(&mut self, s: &str) -> Result<(), Error>

    Takes a string slice and emits it to the internal buffer after applying\n the relevant formatting flags specified.

    \n

    The flags 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@@ -69,15 +69,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\");
    \n-
    1.0.0 \u00b7 source

    pub fn write_str(&mut self, data: &str) -> Result<(), Error>

    Writes some data to the underlying buffer contained within this\n+

    1.0.0 \u00b7 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@@ -86,33 +86,33 @@\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\");
    \n-
    1.0.0 \u00b7 source

    pub fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait.

    \n+
    1.0.0 \u00b7 source

    pub fn write_fmt(&mut self, fmt: 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

    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\");
    \n-
    1.0.0 \u00b7 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

    Returns flags for formatting.

    \n-
    1.5.0 \u00b7 source

    pub fn fill(&self) -> char

    Returns the character used as \u2018fill\u2019 whenever there is alignment.

    \n+
    1.0.0 \u00b7 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

    Returns flags for formatting.

    \n+
    1.5.0 \u00b7 source

    pub fn fill(&self) -> char

    Returns the 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@@ -127,15 +127,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\");
    \n-
    1.28.0 \u00b7 source

    pub fn align(&self) -> Option<Alignment>

    Returns a flag indicating what form of alignment was requested.

    \n+
    1.28.0 \u00b7 source

    pub fn align(&self) -> Option<Alignment>

    Returns a 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@@ -152,15 +152,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\");
    \n-
    1.5.0 \u00b7 source

    pub fn width(&self) -> Option<usize>

    Returns the optionally specified integer width that the output should be.

    \n+
    1.5.0 \u00b7 source

    pub fn width(&self) -> Option<usize>

    Returns the 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@@ -172,15 +172,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)\");
    \n-
    1.5.0 \u00b7 source

    pub fn precision(&self) -> Option<usize>

    Returns the optionally specified precision for numeric types.\n+

    1.5.0 \u00b7 source

    pub fn precision(&self) -> Option<usize>

    Returns the optionally specified precision for numeric types.\n Alternatively, the maximum width for string types.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(f32);\n \n impl fmt::Display for Foo {\n@@ -193,15 +193,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)\");
    \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@@ -215,15 +215,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)\");
    \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@@ -234,15 +234,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)\");
    \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@@ -252,15 +252,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\");
    \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@@ -268,15 +268,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\");
    \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@@ -298,15 +298,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 );
    \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@@ -320,43 +320,43 @@\n     }\n }\n \n assert_eq!(\n     \"Foo(10, \\\"Hello\\\", _)\",\n     format!(\"{:?}\", Foo(10, \"Hello\".to_string(), PhantomData::<u8>))\n );
    \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]\");
    \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}\");
    \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@@ -378,15 +378,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 }
    \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@@ -395,19 +395,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  );
    \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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/struct.FromFn.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/struct.FromFn.html", "unified_diff": "@@ -1,24 +1,24 @@\n-FromFn in alloc::fmt - Rust
    alloc::fmt

    Struct FromFn

    source
    pub struct FromFn<F>(/* private fields */)\n+FromFn in alloc::fmt - Rust
    alloc::fmt

    Struct FromFn

    source
    pub struct FromFn<F>(/* private fields */)\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

    Created with from_fn.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<F> Debug for FromFn<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 FromFn<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 FromFn<F>
    where\n- F: Freeze,

    \u00a7

    impl<F> RefUnwindSafe for FromFn<F>
    where\n- F: RefUnwindSafe,

    \u00a7

    impl<F> Send for FromFn<F>
    where\n- F: Send,

    \u00a7

    impl<F> Sync for FromFn<F>
    where\n- F: Sync,

    \u00a7

    impl<F> Unpin for FromFn<F>
    where\n- F: Unpin,

    \u00a7

    impl<F> UnwindSafe for FromFn<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+

    Trait Implementations\u00a7

    source\u00a7

    impl<F> Debug for FromFn<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 FromFn<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 FromFn<F>
    where\n+ F: Freeze,

    \u00a7

    impl<F> RefUnwindSafe for FromFn<F>
    where\n+ F: RefUnwindSafe,

    \u00a7

    impl<F> Send for FromFn<F>
    where\n+ F: Send,

    \u00a7

    impl<F> Sync for FromFn<F>
    where\n+ F: Sync,

    \u00a7

    impl<F> Unpin for FromFn<F>
    where\n+ F: Unpin,

    \u00a7

    impl<F> UnwindSafe for FromFn<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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/fmt/trait.Binary.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Binary.html", "unified_diff": "@@ -1,18 +1,18 @@\n-Binary in alloc::fmt - Rust
    alloc::fmt

    Trait Binary

    1.36.0 \u00b7 source
    pub trait Binary {\n+Binary in alloc::fmt - Rust
    alloc::fmt

    Trait Binary

    1.36.0 \u00b7 source
    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\");
    \n@@ -36,19 +36,19 @@\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 );
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Binary for i8

    1.0.0 \u00b7 source\u00a7

    impl Binary for i16

    1.0.0 \u00b7 source\u00a7

    impl Binary for i32

    1.0.0 \u00b7 source\u00a7

    impl Binary for i64

    1.0.0 \u00b7 source\u00a7

    impl Binary for i128

    1.0.0 \u00b7 source\u00a7

    impl Binary for isize

    1.0.0 \u00b7 source\u00a7

    impl Binary for u8

    1.0.0 \u00b7 source\u00a7

    impl Binary for u16

    1.0.0 \u00b7 source\u00a7

    impl Binary for u32

    1.0.0 \u00b7 source\u00a7

    impl Binary for u64

    1.0.0 \u00b7 source\u00a7

    impl Binary for u128

    1.0.0 \u00b7 source\u00a7

    impl Binary for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> Binary for &T
    where\n- T: Binary + ?Sized,

    1.0.0 \u00b7 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+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Binary for i8

    1.0.0 \u00b7 source\u00a7

    impl Binary for i16

    1.0.0 \u00b7 source\u00a7

    impl Binary for i32

    1.0.0 \u00b7 source\u00a7

    impl Binary for i64

    1.0.0 \u00b7 source\u00a7

    impl Binary for i128

    1.0.0 \u00b7 source\u00a7

    impl Binary for isize

    1.0.0 \u00b7 source\u00a7

    impl Binary for u8

    1.0.0 \u00b7 source\u00a7

    impl Binary for u16

    1.0.0 \u00b7 source\u00a7

    impl Binary for u32

    1.0.0 \u00b7 source\u00a7

    impl Binary for u64

    1.0.0 \u00b7 source\u00a7

    impl Binary for u128

    1.0.0 \u00b7 source\u00a7

    impl Binary for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> Binary for &T
    where\n+ T: Binary + ?Sized,

    1.0.0 \u00b7 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-doc/html/alloc/fmt/trait.Debug.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Debug.html", "unified_diff": "@@ -1,10 +1,10 @@\n-Debug in alloc::fmt - Rust
    alloc::fmt

    Trait Debug

    1.36.0 \u00b7 source
    pub trait Debug {\n+Debug in alloc::fmt - Rust
    alloc::fmt

    Trait Debug

    1.36.0 \u00b7 source
    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@@ -80,17 +80,17 @@\n let origin = Point { x: 0, y: 0 };\n \n let expected = \"The origin is: Point {\n x: 0,\n y: 0,\n }\";\n assert_eq!(format!(\"The origin is: {origin:#?}\"), expected);

    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Position {\n@@ -110,185 +110,185 @@\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 )\");
    \n-

    Implementors\u00a7

    source\u00a7

    impl Debug for AsciiChar

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl Debug for FpCategory

    1.55.0 \u00b7 source\u00a7

    impl Debug for IntErrorKind

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for bool

    1.0.0 \u00b7 source\u00a7

    impl Debug for char

    1.0.0 \u00b7 source\u00a7

    impl Debug for f16

    1.0.0 \u00b7 source\u00a7

    impl Debug for f32

    1.0.0 \u00b7 source\u00a7

    impl Debug for f64

    1.0.0 \u00b7 source\u00a7

    impl Debug for f128

    1.0.0 \u00b7 source\u00a7

    impl Debug for i8

    1.0.0 \u00b7 source\u00a7

    impl Debug for i16

    1.0.0 \u00b7 source\u00a7

    impl Debug for i32

    1.0.0 \u00b7 source\u00a7

    impl Debug for i64

    1.0.0 \u00b7 source\u00a7

    impl Debug for i128

    1.0.0 \u00b7 source\u00a7

    impl Debug for isize

    source\u00a7

    impl Debug for !

    1.0.0 \u00b7 source\u00a7

    impl Debug for str

    1.0.0 \u00b7 source\u00a7

    impl Debug for u8

    1.0.0 \u00b7 source\u00a7

    impl Debug for u16

    1.0.0 \u00b7 source\u00a7

    impl Debug for u32

    1.0.0 \u00b7 source\u00a7

    impl Debug for u64

    1.0.0 \u00b7 source\u00a7

    impl Debug for u128

    1.0.0 \u00b7 source\u00a7

    impl Debug for ()

    1.0.0 \u00b7 source\u00a7

    impl Debug for usize

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeDefault

    1.0.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeUnicode

    1.0.0 \u00b7 source\u00a7

    impl Debug for ToLowercase

    1.0.0 \u00b7 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

    source\u00a7

    impl Debug for __m128h

    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

    source\u00a7

    impl Debug for __m256h

    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

    source\u00a7

    impl Debug for __m512h

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512i

    source\u00a7

    impl Debug for bf16

    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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for Ipv4Addr

    1.0.0 \u00b7 source\u00a7

    impl Debug for Ipv6Addr

    1.0.0 \u00b7 source\u00a7

    impl Debug for AddrParseError

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddrV4

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddrV6

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseFloatError

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromIntError

    1.0.0 \u00b7 source\u00a7

    impl Debug for RangeFull

    1.81.0 \u00b7 source\u00a7

    impl Debug for PanicMessage<'_>

    source\u00a7

    impl Debug for core::ptr::alignment::Alignment

    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

    1.0.0 \u00b7 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<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseBoolError

    1.79.0 \u00b7 source\u00a7

    impl Debug for Utf8Chunks<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for Utf8Error

    1.17.0 \u00b7 source\u00a7

    impl Debug for alloc::string::Drain<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf8Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf16Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for String

    1.0.0 \u00b7 source\u00a7

    impl Debug for Arguments<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for dyn Any

    1.0.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Send

    1.28.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Send + Sync

    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>

    1.0.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::Bytes<'a>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<'a> Debug for Lines<'a>

    1.0.0 \u00b7 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>

    1.79.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<'a, A> Debug for core::option::Iter<'a, A>
    where\n- A: Debug + 'a,

    1.0.0 \u00b7 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,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::RSplit<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::RSplitN<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::Split<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitInclusive<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitN<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n- P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Debug for core::result::Iter<'a, T>
    where\n- T: Debug + 'a,

    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Debug for core::result::IterMut<'a, T>
    where\n- T: Debug + 'a,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<A> Debug for Repeat<A>
    where\n- A: Debug,

    1.82.0 \u00b7 source\u00a7

    impl<A> Debug for RepeatN<A>
    where\n- A: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<A> Debug for core::option::IntoIter<A>
    where\n- A: Debug,

    source\u00a7

    impl<A> Debug for IterRange<A>
    where\n- A: Debug,

    source\u00a7

    impl<A> Debug for IterRangeFrom<A>
    where\n- A: Debug,

    source\u00a7

    impl<A> Debug for IterRangeInclusive<A>
    where\n- A: Debug,

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl Debug for FpCategory

    1.55.0 \u00b7 source\u00a7

    impl Debug for IntErrorKind

    1.0.0 \u00b7 source\u00a7

    impl Debug for core::sync::atomic::Ordering

    1.0.0 \u00b7 source\u00a7

    impl Debug for bool

    1.0.0 \u00b7 source\u00a7

    impl Debug for char

    1.0.0 \u00b7 source\u00a7

    impl Debug for f16

    1.0.0 \u00b7 source\u00a7

    impl Debug for f32

    1.0.0 \u00b7 source\u00a7

    impl Debug for f64

    1.0.0 \u00b7 source\u00a7

    impl Debug for f128

    1.0.0 \u00b7 source\u00a7

    impl Debug for i8

    1.0.0 \u00b7 source\u00a7

    impl Debug for i16

    1.0.0 \u00b7 source\u00a7

    impl Debug for i32

    1.0.0 \u00b7 source\u00a7

    impl Debug for i64

    1.0.0 \u00b7 source\u00a7

    impl Debug for i128

    1.0.0 \u00b7 source\u00a7

    impl Debug for isize

    source\u00a7

    impl Debug for !

    1.0.0 \u00b7 source\u00a7

    impl Debug for str

    1.0.0 \u00b7 source\u00a7

    impl Debug for u8

    1.0.0 \u00b7 source\u00a7

    impl Debug for u16

    1.0.0 \u00b7 source\u00a7

    impl Debug for u32

    1.0.0 \u00b7 source\u00a7

    impl Debug for u64

    1.0.0 \u00b7 source\u00a7

    impl Debug for u128

    1.0.0 \u00b7 source\u00a7

    impl Debug for ()

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseBoolError

    1.79.0 \u00b7 source\u00a7

    impl Debug for Utf8Chunks<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for Utf8Error

    1.17.0 \u00b7 source\u00a7

    impl Debug for alloc::string::Drain<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf8Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf16Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for String

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeDefault

    1.0.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeUnicode

    1.0.0 \u00b7 source\u00a7

    impl Debug for ToLowercase

    1.0.0 \u00b7 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

    source\u00a7

    impl Debug for __m128h

    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

    source\u00a7

    impl Debug for __m256h

    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

    source\u00a7

    impl Debug for __m512h

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512i

    source\u00a7

    impl Debug for bf16

    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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Debug for Ipv4Addr

    1.0.0 \u00b7 source\u00a7

    impl Debug for Ipv6Addr

    1.0.0 \u00b7 source\u00a7

    impl Debug for AddrParseError

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddrV4

    1.0.0 \u00b7 source\u00a7

    impl Debug for SocketAddrV6

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseFloatError

    1.0.0 \u00b7 source\u00a7

    impl Debug for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromIntError

    1.0.0 \u00b7 source\u00a7

    impl Debug for RangeFull

    1.81.0 \u00b7 source\u00a7

    impl Debug for PanicMessage<'_>

    source\u00a7

    impl Debug for core::ptr::alignment::Alignment

    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

    1.0.0 \u00b7 source\u00a7

    impl Debug for Arguments<'_>

    1.0.0 \u00b7 source\u00a7

    impl Debug for Error

    1.0.0 \u00b7 source\u00a7

    impl Debug for dyn Any

    1.0.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Send

    1.28.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Send + Sync

    1.60.0 \u00b7 source\u00a7

    impl<'a> Debug for EscapeAscii<'a>

    source\u00a7

    impl<'a> Debug for CharSearcher<'a>

    1.0.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::Bytes<'a>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<'a> Debug for Lines<'a>

    1.0.0 \u00b7 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>

    1.79.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<'a, A> Debug for core::option::Iter<'a, A>
    where\n+ A: Debug + 'a,

    1.0.0 \u00b7 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,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::RSplit<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::RSplitN<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::Split<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitInclusive<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitN<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n+ P: Pattern,\n+ <P as Pattern>::Searcher<'a>: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Debug for Windows<'a, T>
    where\n+ T: Debug + 'a,

    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Debug for core::result::Iter<'a, T>
    where\n+ T: Debug + 'a,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<A> Debug for Repeat<A>
    where\n+ A: Debug,

    1.82.0 \u00b7 source\u00a7

    impl<A> Debug for RepeatN<A>
    where\n+ A: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<A> Debug for core::option::IntoIter<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A> Debug for IterRange<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A> Debug for IterRangeFrom<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A> Debug for IterRangeInclusive<A>
    where\n+ A: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<A, B> Debug for Chain<A, B>
    where\n A: Debug,\n- B: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<A, B> Debug for Zip<A, B>
    where\n+ B: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<A, B> Debug for Zip<A, B>
    where\n A: Debug,\n B: Debug,

    1.0.0 \u00b7 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 core::iter::sources::from_fn::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 alloc::fmt::FromFn<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,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Cycle<I>
    where\n- I: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Enumerate<I>
    where\n- I: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Peekable<I>
    where\n- I: Debug + Iterator,\n- <I as Iterator>::Item: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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 core::iter::sources::from_fn::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 alloc::fmt::FromFn<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,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Cycle<I>
    where\n+ I: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Enumerate<I>
    where\n+ I: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<I> Debug for Peekable<I>
    where\n+ I: Debug + Iterator,\n+ <I as Iterator>::Item: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::Range<Idx>
    where\n- Idx: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::RangeFrom<Idx>
    where\n- Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::RangeInclusive<Idx>
    where\n- Idx: Debug,

    1.0.0 \u00b7 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<Idx> Debug for core::range::Range<Idx>
    where\n- Idx: Debug,

    source\u00a7

    impl<Idx> Debug for core::range::RangeFrom<Idx>
    where\n- Idx: Debug,

    source\u00a7

    impl<Idx> Debug for core::range::RangeInclusive<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,

    1.0.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::Range<Idx>
    where\n+ Idx: Debug,

    1.0.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::RangeFrom<Idx>
    where\n+ Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for core::ops::range::RangeInclusive<Idx>
    where\n+ Idx: Debug,

    1.0.0 \u00b7 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<Idx> Debug for core::range::Range<Idx>
    where\n+ Idx: Debug,

    source\u00a7

    impl<Idx> Debug for core::range::RangeFrom<Idx>
    where\n+ Idx: Debug,

    source\u00a7

    impl<Idx> Debug for core::range::RangeInclusive<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>

    source\u00a7

    impl<K: Debug> Debug for alloc::collections::btree_set::Cursor<'_, K>

    source\u00a7

    impl<K: Debug, A> Debug for alloc::collections::btree_set::CursorMut<'_, K, A>

    source\u00a7

    impl<K: Debug, A> Debug for alloc::collections::btree_set::CursorMutKey<'_, K, 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 alloc::collections::btree_map::CursorMutKey<'_, K, V, A>

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for *const T
    where\n- T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for *mut T
    where\n- T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for &T
    where\n- T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for &mut T
    where\n- T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for [T]
    where\n- T: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for Cell<T>
    where\n- T: Copy + Debug,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for Ref<'_, T>
    where\n- T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for RefCell<T>
    where\n- T: Debug + ?Sized,

    1.0.0 \u00b7 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,

    source\u00a7

    impl<T> Debug for AsyncDropInPlace<T>
    where\n- T: ?Sized,

    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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T, E> Debug for Result<T, E>
    where\n- T: Debug,\n- E: Debug,

    1.80.0 \u00b7 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,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    source\u00a7

    impl<T: Debug + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Vec<T, A>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::rc::Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::sync::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>

    source\u00a7

    impl<K: Debug> Debug for alloc::collections::btree_set::Cursor<'_, K>

    source\u00a7

    impl<K: Debug, A> Debug for alloc::collections::btree_set::CursorMut<'_, K, A>

    source\u00a7

    impl<K: Debug, A> Debug for alloc::collections::btree_set::CursorMutKey<'_, K, 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 alloc::collections::btree_map::CursorMutKey<'_, K, V, A>

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for *const T
    where\n+ T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for *mut T
    where\n+ T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for &T
    where\n+ T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for &mut T
    where\n+ T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for [T]
    where\n+ T: Debug,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for Cell<T>
    where\n+ T: Copy + Debug,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for Ref<'_, T>
    where\n+ T: Debug + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Debug for RefCell<T>
    where\n+ T: Debug + ?Sized,

    1.0.0 \u00b7 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,

    source\u00a7

    impl<T> Debug for AsyncDropInPlace<T>
    where\n+ T: ?Sized,

    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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T, E> Debug for Result<T, E>
    where\n+ T: Debug,\n+ E: Debug,

    1.80.0 \u00b7 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,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    source\u00a7

    impl<T: Debug + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Vec<T, A>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::rc::Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::sync::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": "@@ -128,14 +128,20 @@\n \n assert_eq!(format!(\"{position:#?}\"), \"(\n 1.987,\n 2.983,\n )\");\n *\b**\b**\b**\b**\b* I\bIm\bmp\bpl\ble\bem\bme\ben\bnt\bto\bor\brs\bs_\b?\b\u00a7 *\b**\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br_\bK\bK_\bi\bi_\bn\bn_\bd\bd *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\bS\bS_\bt\bt_\be\be_\bp\bp *\b**\b**\b**\b*\n+1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:f\bfm\bmt\bt:\b::\b:_\bA\bA_\bl\bl_\bi\bi_\bg\bg_\bn\bn_\bm\bm_\be\be_\bn\bn_\bt\bt *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bA\bA_\bs\bs_\bc\bc_\bi\bi_\bi\bi_\bC\bC_\bh\bh_\ba\ba_\br\br *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:c\bcm\bmp\bp:\b::\b:_\bO\bO_\br\br_\bd\bd_\be\be_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n 1.34.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bI\bI_\bn\bn_\bf\bf_\ba\ba_\bl\bl_\bl\bl_\bi\bi_\bb\bb_\bl\bl_\be\be *\b**\b**\b**\b*\n 1.16.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bc\bc_\b_\b__\bv\bv_\bo\bo_\bi\bi_\bd\bd *\b**\b**\b**\b*\n@@ -147,20 +153,14 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bo\bo_\bc\bc_\bk\bk_\be\be_\bt\bt_\bA\bA_\bd\bd_\bd\bd_\br\br *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\bp\bp_\bC\bC_\ba\ba_\bt\bt_\be\be_\bg\bg_\bo\bo_\br\br_\by\by *\b**\b**\b**\b*\n 1.55.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bI\bI_\bn\bn_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br_\bK\bK_\bi\bi_\bn\bn_\bd\bd *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:s\bsy\byn\bnc\bc:\b::\b:a\bat\bto\bom\bmi\bic\bc:\b::\b:_\bO\bO_\br\br_\bd\bd_\be\be_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br_\bK\bK_\bi\bi_\bn\bn_\bd\bd *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\bS\bS_\bt\bt_\be\be_\bp\bp *\b**\b**\b**\b*\n-1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:f\bfm\bmt\bt:\b::\b:_\bA\bA_\bl\bl_\bi\bi_\bg\bg_\bn\bn_\bm\bm_\be\be_\bn\bn_\bt\bt *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bb\bb_\bo\bo_\bo\bo_\bl\bl *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bc\bc_\bh\bh_\ba\ba_\br\br *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bf\bf_\b1\b1_\b6\b6 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -195,14 +195,52 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bu\bu_\b6\b6_\b4\b4 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bu\bu_\b1\b1_\b2\b2_\b8\b8 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\b(\b(_\b)\b) *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bu\bu_\bs\bs_\bi\bi_\bz\bz_\be\be *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bA\bA_\bl\bl_\bl\bl_\bo\bo_\bc\bc_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bG\bG_\bl\bl_\bo\bo_\bb\bb_\ba\ba_\bl\bl *\b**\b**\b**\b*\n+1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt *\b**\b**\b**\b*\n+1.50.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bn\bn_\bo\bo_\br\br_\bd\bd_\be\be_\br\br_\be\be_\bd\bd_\bK\bK_\be\be_\by\by_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.57.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bV\bV_\be\be_\bc\bc_\bW\bW_\bi\bi_\bt\bt_\bh\bh_\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bI\bI_\bn\bn_\bt\bt_\bo\bo_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n+1.38.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n+1.17.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bE\bE_\bn\bn_\bc\bc_\bo\bo_\bd\bd_\be\be_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bB\bB_\bo\bo_\bo\bo_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.79.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.17.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bst\btr\bri\bin\bng\bg:\b::\b:_\bD\bD_\br\br_\ba\ba_\bi\bi_\bn\bn<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\by\by_\bp\bp_\be\be_\bI\bI_\bd\bd *\b**\b**\b**\b*\n 1.34.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bl\bl_\bi\bi_\bc\bc_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n 1.16.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:a\bas\bsc\bci\bii\bi:\b::\b:_\bE\bE_\bs\bs_\bc\bc_\ba\ba_\bp\bp_\be\be_\bD\bD_\be\be_\bf\bf_\ba\ba_\bu\bu_\bl\bl_\bt\bt *\b**\b**\b**\b*\n 1.13.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -329,76 +367,24 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\ba\ba_\bw\bw_\bW\bW_\ba\ba_\bk\bk_\be\be_\br\br_\bV\bV_\bT\bT_\ba\ba_\bb\bb_\bl\bl_\be\be *\b**\b**\b**\b*\n 1.36.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bW\bW_\ba\ba_\bk\bk_\be\be_\br\br *\b**\b**\b**\b*\n 1.27.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bD\bD_\bu\bu_\br\br_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn *\b**\b**\b**\b*\n 1.66.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bF\bF_\br\br_\bo\bo_\bm\bm_\bF\bF_\bl\bl_\bo\bo_\ba\ba_\bt\bt_\bS\bS_\be\be_\bc\bc_\bs\bs_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bA\bA_\bl\bl_\bl\bl_\bo\bo_\bc\bc_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bG\bG_\bl\bl_\bo\bo_\bb\bb_\ba\ba_\bl\bl *\b**\b**\b**\b*\n-1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt *\b**\b**\b**\b*\n-1.50.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bn\bn_\bo\bo_\br\br_\bd\bd_\be\be_\br\br_\be\be_\bd\bd_\bK\bK_\be\be_\by\by_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.57.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bV\bV_\be\be_\bc\bc_\bW\bW_\bi\bi_\bt\bt_\bh\bh_\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bI\bI_\bn\bn_\bt\bt_\bo\bo_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n-1.38.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n-1.17.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bE\bE_\bn\bn_\bc\bc_\bo\bo_\bd\bd_\be\be_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bB\bB_\bo\bo_\bo\bo_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.79.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.17.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bst\btr\bri\bin\bng\bg:\b::\b:_\bD\bD_\br\br_\ba\ba_\bi\bi_\bn\bn<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bA\bA_\br\br_\bg\bg_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br d\bdy\byn\bn _\bA\bA_\bn\bn_\by\by *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br d\bdy\byn\bn _\bA\bA_\bn\bn_\by\by +\b+ _\bS\bS_\be\be_\bn\bn_\bd\bd *\b**\b**\b**\b*\n 1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br d\bdy\byn\bn _\bA\bA_\bn\bn_\by\by +\b+ _\bS\bS_\be\be_\bn\bn_\bd\bd +\b+ _\bS\bS_\by\by_\bn\bn_\bc\bc *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\be\be_\bq\bq_\bu\bu_\be\be_\bs\bs_\bt\bt<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bo\bo_\bu\bu_\br\br_\bc\bc_\be\be<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:f\bff\bfi\bi:\b::\b:c\bc_\b_s\bst\btr\br:\b::\b:_\bB\bB_\by\by_\bt\bt_\be\be_\bs\bs<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bB\bB_\bo\bo_\br\br_\br\br_\bo\bo_\bw\bw_\be\be_\bd\bd_\bC\bC_\bu\bu_\br\br_\bs\bs_\bo\bo_\br\br<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-1.10.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\bo\bo_\bc\bc_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-1.10.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bP\bP_\ba\ba_\bn\bn_\bi\bi_\bc\bc_\bI\bI_\bn\bn_\bf\bf_\bo\bo<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bx\bx_\bt\bt_\bB\bB_\bu\bu_\bi\bi_\bl\bl_\bd\bd_\be\be_\br\br<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.60.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bE\bE_\bs\bs_\bc\bc_\ba\ba_\bp\bp_\be\be_\bA\bA_\bs\bs_\bc\bc_\bi\bi_\bi\bi<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bst\btr\br:\b::\b:_\bB\bB_\by\by_\bt\bt_\be\be_\bs\bs<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -416,14 +402,28 @@\n 1.34.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bp\bp_\bl\bl_\bi\bi_\bt\bt_\bA\bA_\bs\bs_\bc\bc_\bi\bi_\bi\bi_\bW\bW_\bh\bh_\bi\bi_\bt\bt_\be\be_\bs\bs_\bp\bp_\ba\ba_\bc\bc_\be\be<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.1.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bp\bp_\bl\bl_\bi\bi_\bt\bt_\bW\bW_\bh\bh_\bi\bi_\bt\bt_\be\be_\bs\bs_\bp\bp_\ba\ba_\bc\bc_\be\be<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.79.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\be\be_\bq\bq_\bu\bu_\be\be_\bs\bs_\bt\bt<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bo\bo_\bu\bu_\br\br_\bc\bc_\be\be<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:f\bff\bfi\bi:\b::\b:c\bc_\b_s\bst\btr\br:\b::\b:_\bB\bB_\by\by_\bt\bt_\be\be_\bs\bs<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bB\bB_\bo\bo_\br\br_\br\br_\bo\bo_\bw\bw_\be\be_\bd\bd_\bC\bC_\bu\bu_\br\br_\bs\bs_\bo\bo_\br\br<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+1.10.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\bo\bo_\bc\bc_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+1.10.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bP\bP_\ba\ba_\bn\bn_\bi\bi_\bc\bc_\bI\bI_\bn\bn_\bf\bf_\bo\bo<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\be\be_\bx\bx_\bt\bt_\bB\bB_\bu\bu_\bi\bi_\bl\bl_\bd\bd_\be\be_\br\br<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, '\b'b\bb>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bS\bS_\bl\bl_\bi\bi_\bc\bc_\be\be_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba,\b, '\b'b\bb>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, '\b'b\bb>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba,\b, '\b'b\bb>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, '\b'b\bb,\b, c\bco\bon\bns\bst\bt N\bN:\b: _\bu\bu_\bs\bs_\bi\bi_\bz\bz_\be\be>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bA\bA_\br\br_\br\br_\ba\ba_\by\by_\bR\bR_\be\be_\bf\bf_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba,\b, '\b'b\bb,\b, N\bN>\b>\n *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -472,20 +472,14 @@\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, P\bP>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bst\btr\br:\b::\b:_\bS\bS_\bp\bp_\bl\bl_\bi\bi_\bt\bt_\bN\bN<\b<'\b'a\ba,\b, P\bP>\b>\n w\bwh\bhe\ber\bre\be P\bP:\b: _\bP\bP_\ba\ba_\bt\bt_\bt\bt_\be\be_\br\br_\bn\bn,\b, <\b\b>:\b::\b:_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba>\b>:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, P\bP>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bS\bS_\bp\bp_\bl\bl_\bi\bi_\bt\bt_\bT\bT_\be\be_\br\br_\bm\bm_\bi\bi_\bn\bn_\ba\ba_\bt\bt_\bo\bo_\br\br<\b<'\b'a\ba,\b, P\bP>\b>\n w\bwh\bhe\ber\bre\be P\bP:\b: _\bP\bP_\ba\ba_\bt\bt_\bt\bt_\be\be_\br\br_\bn\bn,\b, <\b\b>:\b::\b:_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'a\ba>\b>:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:r\bre\bes\bsu\bul\blt\bt:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br<\b<'\b'a\ba,\b, T\bT>\b>\n-w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:r\bre\bes\bsu\bul\blt\bt:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br_\bM\bM_\bu\bu_\bt\bt<\b<'\b'a\ba,\b, T\bT>\b>\n-w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs<\b<'\b'a\ba,\b, T\bT>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n 1.31.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs_\bE\bE_\bx\bx_\ba\ba_\bc\bc_\bt\bt<\b<'\b'a\ba,\b, T\bT>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n 1.31.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs_\bE\bE_\bx\bx_\ba\ba_\bc\bc_\bt\bt_\bM\bM_\bu\bu_\bt\bt<\b<'\b'a\ba,\b, T\bT>\b>\n@@ -504,14 +498,20 @@\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n 1.31.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bs\bs_\bM\bM_\bu\bu_\bt\bt<\b<'\b'a\ba,\b, T\bT>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bW\bW_\bi\bi_\bn\bn_\bd\bd_\bo\bo_\bw\bw_\bs\bs<\b<'\b'a\ba,\b, T\bT>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:r\bre\bes\bsu\bul\blt\bt:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br<\b<'\b'a\ba,\b, T\bT>\b>\n+w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:r\bre\bes\bsu\bul\blt\bt:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br_\bM\bM_\bu\bu_\bt\bt<\b<'\b'a\ba,\b, T\bT>\b>\n+w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ '\b'a\ba,\b,\n 1.77.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT,\b, P\bP>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bB\bB_\by\by<\b<'\b'a\ba,\b, T\bT,\b, P\bP>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: '\b'a\ba +\b+ _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.77.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b<'\b'a\ba,\b, T\bT,\b, P\bP>\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\bu\bu_\bn\bn_\bk\bk_\bB\bB_\by\by_\bM\bM_\bu\bu_\bt\bt<\b<'\b'a\ba,\b, T\bT,\b, P\bP>\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: '\b'a\ba +\b+ _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -569,26 +569,26 @@\n w\bwh\bhe\ber\bre\be B\bB:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ _\bT\bT_\bo\bo_\bO\bO_\bw\bw_\bn\bn_\be\be_\bd\bd<\b\b> +\b+ ?\b?_\bS\bS_\bi\bi_\bz\bz_\be\be_\bd\bd,\b,\n 1.55.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bo\bo_\bn\bn_\bt\bt_\br\br_\bo\bo_\bl\bl_\bF\bF_\bl\bl_\bo\bo_\bw\bw<\b\b>\n w\bwh\bhe\ber\bre\be B\bB:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b, C\bC:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bD\bD_\by\by_\bn\bn_\bM\bM_\be\be_\bt\bt_\ba\ba_\bd\bd_\ba\ba_\bt\bt_\ba\ba<\b\b>\n w\bwh\bhe\ber\bre\be D\bDy\byn\bn:\b: ?\b?_\bS\bS_\bi\bi_\bz\bz_\be\be_\bd\bd,\b,\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bP\bP_\br\br_\be\be_\bd\bd_\bi\bi_\bc\bc_\ba\ba_\bt\bt_\be\be_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'_\b_,\b, F\bF>\b>\n+w\bwh\bhe\ber\bre\be F\bF:\b: _\bF\bF_\bn\bn_\bM\bM_\bu\bu_\bt\bt(\b(_\bc\bc_\bh\bh_\ba\ba_\br\br)\b) -\b->\b> _\bb\bb_\bo\bo_\bo\bo_\bl\bl,\b,\n 1.64.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bP\bP_\bo\bo_\bl\bl_\bl\bl_\bF\bF_\bn\bn<\b\b> *\b**\b**\b**\b*\n 1.34.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:i\bit\bte\ber\br:\b::\b:s\bso\bou\bur\brc\bce\bes\bs:\b::\b:f\bfr\bro\bom\bm_\b_f\bfn\bn:\b::\b:_\bF\bF_\br\br_\bo\bo_\bm\bm_\bF\bF_\bn\bn<\b\b> *\b**\b**\b**\b*\n 1.68.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bO\bO_\bn\bn_\bc\bc_\be\be_\bW\bW_\bi\bi_\bt\bt_\bh\bh<\b\b> *\b**\b**\b**\b*\n 1.68.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\be\be_\bp\bp_\be\be_\ba\ba_\bt\bt_\bW\bW_\bi\bi_\bt\bt_\bh\bh<\b\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\bh\bh_\ba\ba_\br\br_\bP\bP_\br\br_\be\be_\bd\bd_\bi\bi_\bc\bc_\ba\ba_\bt\bt_\be\be_\bS\bS_\be\be_\ba\ba_\br\br_\bc\bc_\bh\bh_\be\be_\br\br<\b<'\b'_\b_,\b, F\bF>\b>\n-w\bwh\bhe\ber\bre\be F\bF:\b: _\bF\bF_\bn\bn_\bM\bM_\bu\bu_\bt\bt(\b(_\bc\bc_\bh\bh_\ba\ba_\br\br)\b) -\b->\b> _\bb\bb_\bo\bo_\bo\bo_\bl\bl,\b,\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:f\bfm\bmt\bt:\b::\b:_\bF\bF_\br\br_\bo\bo_\bm\bm_\bF\bF_\bn\bn<\b\b>\n w\bwh\bhe\ber\bre\be F\bF:\b: _\bF\bF_\bn\bn(\b(&\b&m\bmu\but\bt _\bF\bF_\bo\bo_\br\br_\bm\bm_\ba\ba_\bt\bt_\bt\bt_\be\be_\br\br<\b<'\b'_\b_>\b>)\b) -\b->\b> _\bR\bR_\be\be_\bs\bs_\bu\bu_\bl\bl_\bt\bt<\b<_\b(\b(_\b)\b),\b, _\bE\bE_\br\br_\br\br_\bo\bo_\br\br>\b>,\b,\n 1.4.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br F\bF\n w\bwh\bhe\ber\bre\be F\bF:\b: _\bF\bF_\bn\bn_\bP\bP_\bt\bt_\br\br,\b,\n 1.9.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bB\bB_\bu\bu_\bi\bi_\bl\bl_\bd\bd_\bH\bH_\ba\ba_\bs\bs_\bh\bh_\be\be_\br\br_\bD\bD_\be\be_\bf\bf_\ba\ba_\bu\bu_\bl\bl_\bt\bt<\b\b> *\b**\b**\b**\b*\n@@ -779,14 +779,20 @@\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\b[\b[_\bT\bT_\b]\b]\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\b(\b(_\bT\bT_\b?\b\u2081_\b,\b,_\b _\bT\bT_\b?\b\u2082_\b,\b,_\b _\b?\b\u2026_\b,\b,_\b _\bT\bT_\b?\b\u2099_\b)\b)\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg +\b+ ?\b?_\bS\bS_\bi\bi_\bz\bz_\be\be_\bd\bd,\b,\n This trait is implemented for tuples up to twelve items long.\n+1.9.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bsl\bli\bic\bce\be:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br<\b<'\b'_\b_,\b, T\bT>\b>\n+w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n+1.9.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bsl\bli\bic\bce\be:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br_\bM\bM_\bu\bu_\bt\bt<\b<'\b'_\b_,\b, T\bT>\b>\n+w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.70.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bO\bO_\bn\bn_\bc\bc_\be\be_\bC\bC_\be\be_\bl\bl_\bl\bl<\b\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bC\bC_\be\be_\bl\bl_\bl\bl<\b\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bC\bC_\bo\bo_\bp\bp_\by\by +\b+ _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -853,20 +859,14 @@\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br c\bco\bor\bre\be:\b::\b:r\bre\bes\bsu\bul\blt\bt:\b::\b:_\bI\bI_\bn\bn_\bt\bt_\bo\bo_\bI\bI_\bt\bt_\be\be_\br\br<\b\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.3.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bA\bA_\bt\bt_\bo\bo_\bm\bm_\bi\bi_\bc\bc_\bP\bP_\bt\bt_\br\br<\b\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bE\bE_\bx\bx_\bc\bc_\bl\bl_\bu\bu_\bs\bs_\bi\bi_\bv\bv_\be\be<\b\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: ?\b?_\bS\bS_\bi\bi_\bz\bz_\be\be_\bd\bd,\b,\n-1.9.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bsl\bli\bic\bce\be:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br<\b<'\b'_\b_,\b, T\bT>\b>\n-w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n-1.9.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br a\bal\bll\blo\boc\bc:\b::\b:s\bsl\bli\bic\bce\be:\b::\b:_\bI\bI_\bt\bt_\be\be_\br\br_\bM\bM_\bu\bu_\bt\bt<\b<'\b'_\b_,\b, T\bT>\b>\n-w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.41.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bM\bM_\ba\ba_\by\by_\bb\bb_\be\be_\bU\bU_\bn\bn_\bi\bi_\bn\bn_\bi\bi_\bt\bt<\b\b> *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bR\bR_\be\be_\bs\bs_\bu\bu_\bl\bl_\bt\bt<\b\b>\n w\bwh\bhe\ber\bre\be T\bT:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b, E\bE:\b: _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg,\b,\n 1.80.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n i\bim\bmp\bpl\bl<\b\b> _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg f\bfo\bor\br _\bL\bL_\ba\ba_\bz\bz_\by\by_\bC\bC_\be\be_\bl\bl_\bl\bl<\b\b>\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html", "unified_diff": "@@ -1,10 +1,10 @@\n-Display in alloc::fmt - Rust
    alloc::fmt

    Trait Display

    1.36.0 \u00b7 source
    pub trait Display {\n+Display in alloc::fmt - Rust
    alloc::fmt

    Trait Display

    1.36.0 \u00b7 source
    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@@ -14,15 +14,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@@ -35,17 +35,17 @@\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)\");
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Position {\n@@ -59,20 +59,20 @@\n     }\n }\n \n assert_eq!(\n     \"(1.987, 2.983)\",\n     format!(\"{}\", Position { longitude: 1.987, latitude: 2.983, }),\n );
    \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

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl Display for bool

    1.0.0 \u00b7 source\u00a7

    impl Display for char

    1.0.0 \u00b7 source\u00a7

    impl Display for f32

    1.0.0 \u00b7 source\u00a7

    impl Display for f64

    1.0.0 \u00b7 source\u00a7

    impl Display for i8

    1.0.0 \u00b7 source\u00a7

    impl Display for i16

    1.0.0 \u00b7 source\u00a7

    impl Display for i32

    1.0.0 \u00b7 source\u00a7

    impl Display for i64

    1.0.0 \u00b7 source\u00a7

    impl Display for i128

    1.0.0 \u00b7 source\u00a7

    impl Display for isize

    source\u00a7

    impl Display for !

    1.0.0 \u00b7 source\u00a7

    impl Display for str

    1.0.0 \u00b7 source\u00a7

    impl Display for u8

    1.0.0 \u00b7 source\u00a7

    impl Display for u16

    1.0.0 \u00b7 source\u00a7

    impl Display for u32

    1.0.0 \u00b7 source\u00a7

    impl Display for u64

    1.0.0 \u00b7 source\u00a7

    impl Display for u128

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Display for Ipv4Addr

    1.0.0 \u00b7 source\u00a7

    impl Display for Ipv6Addr

    Writes 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

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl Display for bool

    1.0.0 \u00b7 source\u00a7

    impl Display for char

    1.0.0 \u00b7 source\u00a7

    impl Display for f32

    1.0.0 \u00b7 source\u00a7

    impl Display for f64

    1.0.0 \u00b7 source\u00a7

    impl Display for i8

    1.0.0 \u00b7 source\u00a7

    impl Display for i16

    1.0.0 \u00b7 source\u00a7

    impl Display for i32

    1.0.0 \u00b7 source\u00a7

    impl Display for i64

    1.0.0 \u00b7 source\u00a7

    impl Display for i128

    1.0.0 \u00b7 source\u00a7

    impl Display for isize

    source\u00a7

    impl Display for !

    1.0.0 \u00b7 source\u00a7

    impl Display for str

    1.0.0 \u00b7 source\u00a7

    impl Display for u8

    1.0.0 \u00b7 source\u00a7

    impl Display for u16

    1.0.0 \u00b7 source\u00a7

    impl Display for u32

    1.0.0 \u00b7 source\u00a7

    impl Display for u64

    1.0.0 \u00b7 source\u00a7

    impl Display for u128

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Display for NulError

    1.0.0 \u00b7 source\u00a7

    impl Display for ParseBoolError

    1.0.0 \u00b7 source\u00a7

    impl Display for Utf8Error

    1.0.0 \u00b7 source\u00a7

    impl Display for FromUtf8Error

    1.0.0 \u00b7 source\u00a7

    impl Display for FromUtf16Error

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Display for Ipv4Addr

    1.0.0 \u00b7 source\u00a7

    impl Display for Ipv6Addr

    Writes an Ipv6Addr, conforming to the canonical style described by\n RFC 5952.

    \n-
    1.4.0 \u00b7 source\u00a7

    impl Display for AddrParseError

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddrV4

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddrV6

    1.0.0 \u00b7 source\u00a7

    impl Display for ParseFloatError

    1.0.0 \u00b7 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.81.0 \u00b7 source\u00a7

    impl Display for PanicMessage<'_>

    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

    1.0.0 \u00b7 source\u00a7

    impl Display for NulError

    1.0.0 \u00b7 source\u00a7

    impl Display for ParseBoolError

    1.0.0 \u00b7 source\u00a7

    impl Display for Utf8Error

    1.0.0 \u00b7 source\u00a7

    impl Display for FromUtf8Error

    1.0.0 \u00b7 source\u00a7

    impl Display for FromUtf16Error

    1.0.0 \u00b7 source\u00a7

    impl Display for String

    1.0.0 \u00b7 source\u00a7

    impl Display for Arguments<'_>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n- B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    impl<F> Display for FromFn<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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Display for &T
    where\n- T: Display + ?Sized,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddrV4

    1.0.0 \u00b7 source\u00a7

    impl Display for SocketAddrV6

    1.0.0 \u00b7 source\u00a7

    impl Display for ParseFloatError

    1.0.0 \u00b7 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.81.0 \u00b7 source\u00a7

    impl Display for PanicMessage<'_>

    1.66.0 \u00b7 source\u00a7

    impl Display for TryFromFloatSecsError

    1.0.0 \u00b7 source\u00a7

    impl Display for Arguments<'_>

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n+ B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    impl<F> Display for FromFn<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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Display for &T
    where\n+ T: Display + ?Sized,

    1.0.0 \u00b7 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,

    1.0.0 \u00b7 source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    1.0.0 \u00b7 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": "@@ -122,14 +122,38 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bu\bu_\b3\b3_\b2\b2 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bu\bu_\b6\b6_\b4\b4 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bu\bu_\b1\b1_\b2\b2_\b8\b8 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bu\bu_\bs\bs_\bi\bi_\bz\bz_\be\be *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bA\bA_\bl\bl_\bl\bl_\bo\bo_\bc\bc_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bU\bU_\bn\bn_\bo\bo_\br\br_\bd\bd_\be\be_\br\br_\be\be_\bd\bd_\bK\bK_\be\be_\by\by_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.57.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.58.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bV\bV_\be\be_\bc\bc_\bW\bW_\bi\bi_\bt\bt_\bh\bh_\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.7.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bI\bI_\bn\bn_\bt\bt_\bo\bo_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bB\bB_\bo\bo_\bo\bo_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n 1.36.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bl\bl_\bi\bi_\bc\bc_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n 1.39.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br c\bco\bor\bre\be:\b::\b:a\bas\bsc\bci\bii\bi:\b::\b:_\bE\bE_\bs\bs_\bc\bc_\ba\ba_\bp\bp_\be\be_\bD\bD_\be\be_\bf\bf_\ba\ba_\bu\bu_\bl\bl_\bt\bt *\b**\b**\b**\b*\n 1.13.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bB\bB_\bo\bo_\br\br_\br\br_\bo\bo_\bw\bw_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n 1.13.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -177,38 +201,14 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bL\bL_\bo\bo_\bc\bc_\ba\ba_\bt\bt_\bi\bi_\bo\bo_\bn\bn<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n 1.26.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bP\bP_\ba\ba_\bn\bn_\bi\bi_\bc\bc_\bI\bI_\bn\bn_\bf\bf_\bo\bo<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n 1.81.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bP\bP_\ba\ba_\bn\bn_\bi\bi_\bc\bc_\bM\bM_\be\be_\bs\bs_\bs\bs_\ba\ba_\bg\bg_\be\be<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n 1.66.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bF\bF_\br\br_\bo\bo_\bm\bm_\bF\bF_\bl\bl_\bo\bo_\ba\ba_\bt\bt_\bS\bS_\be\be_\bc\bc_\bs\bs_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bA\bA_\bl\bl_\bl\bl_\bo\bo_\bc\bc_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.28.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bL\bL_\ba\ba_\by\by_\bo\bo_\bu\bu_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bU\bU_\bn\bn_\bo\bo_\br\br_\bd\bd_\be\be_\br\br_\be\be_\bd\bd_\bK\bK_\be\be_\by\by_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.57.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bT\bT_\br\br_\by\by_\bR\bR_\be\be_\bs\bs_\be\be_\br\br_\bv\bv_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.58.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bV\bV_\be\be_\bc\bc_\bW\bW_\bi\bi_\bt\bt_\bh\bh_\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.7.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bI\bI_\bn\bn_\bt\bt_\bo\bo_\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bN\bN_\bu\bu_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bB\bB_\bo\bo_\bo\bo_\bl\bl_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b8\b8_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bF\bF_\br\br_\bo\bo_\bm\bm_\bU\bU_\bt\bt_\bf\bf_\b1\b1_\b6\b6_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bA\bA_\br\br_\bg\bg_\bu\bu_\bm\bm_\be\be_\bn\bn_\bt\bt_\bs\bs<\b<'\b'_\b_>\b> *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b**\b*\n 1.60.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl<\b<'\b'a\ba>\b> _\bD\bD_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bE\bE_\bs\bs_\bc\bc_\ba\ba_\bp\bp_\be\be_\bA\bA_\bs\bs_\bc\bc_\bi\bi_\bi\bi<\b<'\b'a\ba>\b> *\b**\b**\b**\b*\n 1.34.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html", "unified_diff": "@@ -1,10 +1,10 @@\n-LowerExp in alloc::fmt - Rust
    alloc::fmt

    Trait LowerExp

    1.36.0 \u00b7 source
    pub trait LowerExp {\n+LowerExp in alloc::fmt - Rust
    alloc::fmt

    Trait LowerExp

    1.36.0 \u00b7 source
    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@@ -30,16 +30,16 @@\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 );
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl LowerExp for f32

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerExp for &T
    where\n- T: LowerExp + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerExp for &mut T
    where\n- T: LowerExp + ?Sized,

    \n+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl LowerExp for f32

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerExp for &T
    where\n+ T: LowerExp + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerExp for &mut T
    where\n+ T: LowerExp + ?Sized,

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html", "unified_diff": "@@ -1,10 +1,10 @@\n-LowerHex in alloc::fmt - Rust
    alloc::fmt

    Trait LowerHex

    1.36.0 \u00b7 source
    pub trait LowerHex {\n+LowerHex in alloc::fmt - Rust
    alloc::fmt

    Trait LowerHex

    1.36.0 \u00b7 source
    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@@ -32,19 +32,19 @@\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\");
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i8

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i16

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i32

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i64

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i128

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for isize

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u8

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u16

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u32

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u64

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u128

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerHex for &T
    where\n- T: LowerHex + ?Sized,

    1.0.0 \u00b7 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+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i8

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i16

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i32

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i64

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for i128

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for isize

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u8

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u16

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u32

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u64

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for u128

    1.0.0 \u00b7 source\u00a7

    impl LowerHex for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> LowerHex for &T
    where\n+ T: LowerHex + ?Sized,

    1.0.0 \u00b7 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 T: LowerHex,

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html", "unified_diff": "@@ -1,10 +1,10 @@\n-Octal in alloc::fmt - Rust
    alloc::fmt

    Trait Octal

    1.36.0 \u00b7 source
    pub trait Octal {\n+Octal in alloc::fmt - Rust
    alloc::fmt

    Trait Octal

    1.36.0 \u00b7 source
    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@@ -31,19 +31,19 @@\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\");
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Octal for i8

    1.0.0 \u00b7 source\u00a7

    impl Octal for i16

    1.0.0 \u00b7 source\u00a7

    impl Octal for i32

    1.0.0 \u00b7 source\u00a7

    impl Octal for i64

    1.0.0 \u00b7 source\u00a7

    impl Octal for i128

    1.0.0 \u00b7 source\u00a7

    impl Octal for isize

    1.0.0 \u00b7 source\u00a7

    impl Octal for u8

    1.0.0 \u00b7 source\u00a7

    impl Octal for u16

    1.0.0 \u00b7 source\u00a7

    impl Octal for u32

    1.0.0 \u00b7 source\u00a7

    impl Octal for u64

    1.0.0 \u00b7 source\u00a7

    impl Octal for u128

    1.0.0 \u00b7 source\u00a7

    impl Octal for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> Octal for &T
    where\n- T: Octal + ?Sized,

    1.0.0 \u00b7 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+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Octal for i8

    1.0.0 \u00b7 source\u00a7

    impl Octal for i16

    1.0.0 \u00b7 source\u00a7

    impl Octal for i32

    1.0.0 \u00b7 source\u00a7

    impl Octal for i64

    1.0.0 \u00b7 source\u00a7

    impl Octal for i128

    1.0.0 \u00b7 source\u00a7

    impl Octal for isize

    1.0.0 \u00b7 source\u00a7

    impl Octal for u8

    1.0.0 \u00b7 source\u00a7

    impl Octal for u16

    1.0.0 \u00b7 source\u00a7

    impl Octal for u32

    1.0.0 \u00b7 source\u00a7

    impl Octal for u64

    1.0.0 \u00b7 source\u00a7

    impl Octal for u128

    1.0.0 \u00b7 source\u00a7

    impl Octal for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> Octal for &T
    where\n+ T: Octal + ?Sized,

    1.0.0 \u00b7 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-doc/html/alloc/fmt/trait.Pointer.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Pointer.html", "unified_diff": "@@ -1,10 +1,10 @@\n-Pointer in alloc::fmt - Rust
    alloc::fmt

    Trait Pointer

    1.36.0 \u00b7 source
    pub trait Pointer {\n+Pointer in alloc::fmt - Rust
    alloc::fmt

    Trait Pointer

    1.36.0 \u00b7 source
    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. For more information on formatters, see the module-level documentation.

    \n

    Printing of pointers is not a reliable way to discover how Rust programs are implemented.\n The act of reading an address changes the program itself, and may change how the data is represented\n in memory, and may affect which optimizations are applied to the code.

    \n

    The printed pointer values are not guaranteed to be stable nor unique identifiers of objects.\n@@ -35,21 +35,21 @@\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\");

    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for *const T
    where\n- T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for *mut T
    where\n- T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for &T
    where\n- T: ?Sized,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    \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,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for *const T
    where\n+ T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for *mut T
    where\n+ T: ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> Pointer for &T
    where\n+ T: ?Sized,

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html", "unified_diff": "@@ -1,10 +1,10 @@\n-UpperExp in alloc::fmt - Rust
    alloc::fmt

    Trait UpperExp

    1.36.0 \u00b7 source
    pub trait UpperExp {\n+UpperExp in alloc::fmt - Rust
    alloc::fmt

    Trait UpperExp

    1.36.0 \u00b7 source
    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@@ -30,16 +30,16 @@\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 );
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl UpperExp for f32

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperExp for &T
    where\n- T: UpperExp + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperExp for &mut T
    where\n- T: UpperExp + ?Sized,

    \n+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl UpperExp for f32

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperExp for &T
    where\n+ T: UpperExp + ?Sized,

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperExp for &mut T
    where\n+ T: UpperExp + ?Sized,

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html", "unified_diff": "@@ -1,10 +1,10 @@\n-UpperHex in alloc::fmt - Rust
    alloc::fmt

    Trait UpperHex

    1.36.0 \u00b7 source
    pub trait UpperHex {\n+UpperHex in alloc::fmt - Rust
    alloc::fmt

    Trait UpperHex

    1.36.0 \u00b7 source
    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@@ -32,19 +32,19 @@\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\");
    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Errors
    \n-

    This function should return Err if, and only if, the provided Formatter returns Err.\n+

    This function should return Err if, and only if, the provided Formatter returns Err.\n String formatting is considered an infallible operation; this function only\n returns a Result because writing to the underlying stream might fail and it must\n provide a way to propagate the fact that an error has occurred back up the stack.

    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i8

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i16

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i32

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i64

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i128

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for isize

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u8

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u16

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u32

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u64

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u128

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperHex for &T
    where\n- T: UpperHex + ?Sized,

    1.0.0 \u00b7 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+

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i8

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i16

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i32

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i64

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for i128

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for isize

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u8

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u16

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u32

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u64

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for u128

    1.0.0 \u00b7 source\u00a7

    impl UpperHex for usize

    1.0.0 \u00b7 source\u00a7

    impl<T> UpperHex for &T
    where\n+ T: UpperHex + ?Sized,

    1.0.0 \u00b7 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 T: UpperHex,

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html", "unified_diff": "@@ -1,19 +1,19 @@\n-Write in alloc::fmt - Rust
    alloc::fmt

    Trait Write

    1.36.0 \u00b7 source
    pub trait Write {\n+Write in alloc::fmt - Rust
    alloc::fmt

    Trait Write

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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@@ -27,16 +27,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\");

    \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@@ -45,25 +45,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\");
    \n-
    1.0.0 \u00b7 source

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait.

    \n+
    1.0.0 \u00b7 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\");
    \n-

    Implementors\u00a7

    1.0.0 \u00b7 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

    1.0.0 \u00b7 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-doc/html/alloc/fmt/type.Result.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/type.Result.html", "unified_diff": "@@ -1,8 +1,8 @@\n-Result in alloc::fmt - Rust
    alloc::fmt

    Type Alias Result

    1.36.0 \u00b7 source
    pub type Result = Result<(), Error>;
    Expand description

    The type returned by formatter methods.

    \n+Result in alloc::fmt - Rust
    alloc::fmt

    Type Alias Result

    1.36.0 \u00b7 source
    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@@ -15,12 +15,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)\");
    \n

    Aliased Type\u00a7

    enum Result {\n-    Ok(()),\n+    Ok(()),\n     Err(Error),\n-}

    Variants\u00a7

    \u00a71.36.0

    Ok(())

    Contains the success value

    \n+}

    Variants\u00a7

    \u00a71.36.0

    Ok(())

    Contains the success value

    \n
    \u00a71.36.0

    Err(Error)

    Contains the error value

    \n
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/index.html", "unified_diff": "@@ -13,16 +13,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-doc/html/alloc/macro.format.html", "source2": "./usr/share/doc/rust-doc/html/alloc/macro.format.html", "unified_diff": "@@ -5,19 +5,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-doc/html/alloc/macro.vec.html", "source2": "./usr/share/doc/rust-doc/html/alloc/macro.vec.html", "unified_diff": "@@ -16,15 +16,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]);
    \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-doc/html/alloc/rc/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/rc/index.html", "unified_diff": "@@ -1,36 +1,36 @@\n alloc::rc - Rust

    alloc

    Module rc

    1.36.0 \u00b7 source
    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@@ -125,17 +125,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@@ -202,8 +202,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 }
    \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-doc/html/alloc/rc/struct.Rc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/rc/struct.Rc.html", "unified_diff": "@@ -1,20 +1,20 @@\n-Rc in alloc::rc - Rust
    alloc::rc

    Struct Rc

    1.36.0 \u00b7 source
    pub struct Rc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A single-threaded reference-counting pointer. \u2018Rc\u2019 stands for \u2018Reference\n+Rc in alloc::rc - Rust

    alloc::rc

    Struct Rc

    1.36.0 \u00b7 source
    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>

    1.0.0 \u00b7 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);
    \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@@ -46,85 +46,85 @@\n }\n \n /// Returns a reference counted pointer to Self.\n fn me(&self) -> Rc<Self> {\n self.me.upgrade().unwrap()\n }\n }

    \n-
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Rc<MaybeUninit<T>>

    Constructs a new Rc with uninitialized contents.

    \n+
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Rc<MaybeUninit<T>>

    Constructs a new Rc with uninitialized contents.

    \n
    \u00a7Examples
    \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)
    \n-
    source

    pub fn new_zeroed() -> Rc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\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)
    \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);
    \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)]\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);
    \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)]\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);
    \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 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);
    \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(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n \n@@ -134,30 +134,30 @@\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)
    \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(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)
    \n
    source

    pub fn new_cyclic_in<F>(data_fn: F, alloc: A) -> Rc<T, A>
    where\n- F: FnOnce(&Weak<T, A>) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T, A> in the given allocator while giving you a Weak<T, A> to the allocation,\n+ F: FnOnce(&Weak<T, A>) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T, A> in the given allocator while giving you a Weak<T, A> 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, A> is created, such that you can\n clone and store it inside the T.

    \n

    new_cyclic_in first allocates the managed allocation for the Rc<T, A>,\n@@ -168,23 +168,23 @@\n returns, calling upgrade on the weak reference inside your closure will\n fail and result in a None value.

    \n
    \u00a7Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\n temporary Weak<T, A> is dropped normally.

    \n
    \u00a7Examples
    \n

    See new_cyclic.

    \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);
    \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)]\n #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n use std::alloc::System;\n@@ -195,68 +195,68 @@\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);
    \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)]\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);
    \n-
    source

    pub fn pin_in(value: T, alloc: A) -> Pin<Self>
    where\n+

    source

    pub fn pin_in(value: T, alloc: A) -> Pin<Self>
    where\n A: 'static,

    \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);
    \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));
    \n-
    source\u00a7

    impl<T> Rc<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    Constructs a new reference-counted slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Rc<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    Constructs a new reference-counted slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n \n let mut values = Rc::<[u32]>::new_uninit_slice(3);\n \n@@ -265,28 +265,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])
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\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])
    \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(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n \n@@ -298,31 +298,31 @@\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])
    \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(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])
    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Rc<T, A>

    Converts to Rc<T>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Rc<T, A>

    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(get_mut_unchecked)]\n \n@@ -332,17 +332,17 @@\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)
    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Rc<[T], A>

    Converts to Rc<[T]>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Rc<[T], A>

    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(get_mut_unchecked)]\n \n@@ -355,28 +355,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])
    \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@@ -401,15 +401,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 }
    \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@@ -420,15 +420,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 }
    \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@@ -442,64 +442,64 @@\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 }
    \n-
    source\u00a7

    impl<T: ?Sized, 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: ?Sized, 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-
    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Rc, returning the wrapped pointer.

    \n+
    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\");
    \n-
    source

    pub fn into_raw_with_allocator(this: Self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Rc, returning the wrapped pointer and allocator.

    \n+
    source

    pub fn into_raw_with_allocator(this: Self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Rc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Rc using\n Rc::from_raw_in.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::rc::Rc;\n use std::alloc::System;\n \n let x = Rc::new_in(\"hello\".to_owned(), System);\n let (ptr, alloc) = Rc::into_raw_with_allocator(x);\n assert_eq!(unsafe { &*ptr }, \"hello\");\n let x = unsafe { Rc::from_raw_in(ptr, alloc) };\n assert_eq!(&*x, \"hello\");
    \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\");
    \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@@ -531,39 +531,39 @@\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 }
    \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+ 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);
    \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));
    \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));
    \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@@ -577,15 +577,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 }
    \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@@ -602,30 +602,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 }
    \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());
    \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@@ -666,28 +666,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-free

    \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));
    \n-
    source\u00a7

    impl<T: ?Sized + CloneToUninit, 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: ?Sized + CloneToUninit, 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@@ -714,15 +714,15 @@\n assert!(75 == *data);\n assert!(75 == *weak.upgrade().unwrap());\n \n *Rc::make_mut(&mut data) += 1;\n \n assert!(76 == *data);\n assert!(weak.upgrade().is_none());
    \n-
    source\u00a7

    impl<T: Clone, A: Allocator> Rc<T, A>

    1.76.0 \u00b7 source

    pub fn unwrap_or_clone(this: Self) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\n+

    source\u00a7

    impl<T: Clone, A: Allocator> Rc<T, A>

    1.76.0 \u00b7 source

    pub fn unwrap_or_clone(this: Self) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\n clone.

    \n

    Assuming rc_t is of type Rc<T>, this function is functionally equivalent to\n (*rc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    \u00a7Examples
    \n
    let inner = String::from(\"test\");\n let ptr = inner.as_ptr();\n \n@@ -736,29 +736,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()));
    \n-
    source\u00a7

    impl<A: Allocator> Rc<dyn Any, A>

    1.29.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Rc<T, A>, Self>

    Attempts to downcast the Rc<dyn Any> to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Rc<dyn Any, A>

    1.29.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Rc<T, A>, Self>

    Attempts 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));
    \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@@ -766,36 +766,36 @@\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    \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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \n-
    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<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
    1.80.0 \u00b7 source\u00a7

    impl<T> Default for Rc<[T]>

    source\u00a7

    fn default() -> Self

    Creates an empty [T] inside an Rc

    \n+
    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<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
    1.80.0 \u00b7 source\u00a7

    impl<T> Default for Rc<[T]>

    source\u00a7

    fn default() -> Self

    Creates an empty [T] inside an Rc

    \n

    This may or may not share an allocation with other Rcs on the same thread.

    \n-
    1.80.0 \u00b7 source\u00a7

    impl Default for Rc<CStr>

    source\u00a7

    fn default() -> Self

    Creates an empty CStr inside an Rc

    \n+
    1.80.0 \u00b7 source\u00a7

    impl Default for Rc<CStr>

    source\u00a7

    fn default() -> Self

    Creates an empty CStr inside an Rc

    \n

    This may or may not share an allocation with other Rcs on the same thread.

    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \n-
    1.80.0 \u00b7 source\u00a7

    impl Default for Rc<str>

    source\u00a7

    fn default() -> Self

    Creates an empty str inside an Rc

    \n+
    1.80.0 \u00b7 source\u00a7

    impl Default for Rc<str>

    source\u00a7

    fn default() -> Self

    Creates an empty str inside an Rc

    \n

    This may or may not share an allocation with other Rcs on the same thread.

    \n-
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Rc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Rc.

    \n+
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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@@ -807,74 +807,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!\"
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Rc<[T]>

    source\u00a7

    fn from(v: &[T]) -> Rc<[T]>

    Allocates a reference-counted slice and fills 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]>

    Allocates a reference-counted slice and fills 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[..]);
    \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>

    Allocates a reference-counted string slice and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Rc<str>

    source\u00a7

    fn from(v: &str) -> Rc<str>

    Allocates a reference-counted string slice and copies v into it.

    \n
    \u00a7Example
    \n
    let shared: Rc<str> = Rc::from(\"statue\");\n assert_eq!(\"statue\", &shared[..]);
    \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[..]);
    \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);
    \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>

    Creates a reference-counted pointer from a clone-on-write pointer by\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>

    Creates a reference-counted pointer from a clone-on-write pointer by\n 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[..]);
    \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());
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocates a reference-counted string slice and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocates a reference-counted string slice and copies 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[..]);
    \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);
    \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>

    Allocates a reference-counted slice and moves 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>

    Allocates a reference-counted slice and moves 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[..]);
    \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();
    \n

    this behaves as if we wrote:

    \n \n@@ -884,101 +884,101 @@\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.
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)));
    \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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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));
    \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));
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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)));
    \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));
    \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));
    \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));
    \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));
    \n-
    1.0.0 \u00b7 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. Read more
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>

    source\u00a7

    type Error = Rc<[T], A>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Rc<[T], A>) -> 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, A: Allocator> DerefPure for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Rc<T, A>

    1.58.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>

    1.0.0 \u00b7 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, A> Freeze for Rc<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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+
    1.0.0 \u00b7 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. Read more
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>

    source\u00a7

    type Error = Rc<[T], A>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Rc<[T], A>) -> 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, A: Allocator> DerefPure for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Rc<T, A>

    1.58.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>

    1.0.0 \u00b7 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, A> Freeze for Rc<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/rc/struct.UniqueRc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/rc/struct.UniqueRc.html", "unified_diff": "@@ -1,8 +1,8 @@\n-UniqueRc in alloc::rc - Rust
    alloc::rc

    Struct UniqueRc

    source
    pub struct UniqueRc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)
    Expand description

    A uniquely owned Rc.

    \n+UniqueRc in alloc::rc - Rust
    alloc::rc

    Struct UniqueRc

    source
    pub struct UniqueRc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)
    Expand description

    A uniquely owned Rc.

    \n

    This represents an Rc that is known to be uniquely owned \u2013 that is, have exactly one strong\n reference. Multiple weak pointers can be created, but attempts to upgrade those to strong\n references will fail unless the UniqueRc they point to has been converted into a regular Rc.

    \n

    Because they are uniquely owned, the contents of a UniqueRc can be freely mutated. A common\n use case is to have an object be mutable during its initialization phase but then have it become\n immutable and converted to a normal Rc.

    \n

    This can be used as a flexible way to create cyclic data structures, as in the example below.

    \n@@ -21,43 +21,43 @@\n });\n rc.me = UniqueRc::downgrade(&rc);\n Some(UniqueRc::into_rc(rc))\n }\n \n create_gadget().unwrap();
    \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\u00a7

    impl<T, A: Allocator> UniqueRc<T, A>

    source

    pub fn new_in(value: T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Creates a new UniqueRc in the provided allocator.

    \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\u00a7

    impl<T: ?Sized, A: Allocator> UniqueRc<T, A>

    source

    pub fn into_rc(this: Self) -> Rc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Converts the UniqueRc into a regular Rc.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> UniqueRc<T, A>

    source

    pub fn into_rc(this: Self) -> Rc<T, A>

    \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-
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> UniqueRc<T, A>

    source

    pub fn downgrade(this: &Self) -> Weak<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Creates a new weak reference to the UniqueRc.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> UniqueRc<T, A>

    source

    pub fn downgrade(this: &Self) -> Weak<T, A>

    \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-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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> Deref for UniqueRc<T, A>

    source\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 UniqueRc<T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for UniqueRc<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<UniqueRc<U, A>> for UniqueRc<T, A>

    source\u00a7

    impl<T: ?Sized> PinCoerceUnsized for UniqueRc<T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for UniqueRc<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for UniqueRc<T, A>

    \u00a7

    impl<T, A = Global> !Send for UniqueRc<T, A>

    \u00a7

    impl<T, A = Global> !Sync for UniqueRc<T, A>

    \u00a7

    impl<T, A> Unpin for UniqueRc<T, A>
    where\n- A: Unpin,\n- T: Unpin + ?Sized,

    \u00a7

    impl<T, A = Global> !UnwindSafe for UniqueRc<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 + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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> Deref for UniqueRc<T, A>

    source\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 UniqueRc<T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for UniqueRc<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<UniqueRc<U, A>> for UniqueRc<T, A>

    source\u00a7

    impl<T: ?Sized> PinCoerceUnsized for UniqueRc<T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for UniqueRc<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for UniqueRc<T, A>

    \u00a7

    impl<T, A = Global> !Send for UniqueRc<T, A>

    \u00a7

    impl<T, A = Global> !Sync for UniqueRc<T, A>

    \u00a7

    impl<T, A> Unpin for UniqueRc<T, A>
    where\n+ A: Unpin,\n+ T: Unpin + ?Sized,

    \u00a7

    impl<T, A = Global> !UnwindSafe for UniqueRc<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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/rc/struct.Weak.html", "source2": "./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html", "unified_diff": "@@ -1,38 +1,38 @@\n-Weak in alloc::rc - Rust
    alloc::rc

    Struct Weak

    1.36.0 \u00b7 source
    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+Weak in alloc::rc - Rust

    alloc::rc

    Struct Weak

    1.36.0 \u00b7 source
    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());
    \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());
    \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@@ -53,18 +53,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());
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<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-
    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>

    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+
    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() });
    \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,15 +90,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));
    \n-
    source

    pub fn into_raw_with_allocator(self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T>, returning the wrapped pointer and allocator.

    \n+
    source

    pub fn into_raw_with_allocator(self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T>, returning the wrapped pointer and allocator.

    \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_in.

    \n

    The same restrictions of accessing the target of the pointer as with\n as_ptr apply.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n@@ -110,15 +110,15 @@\n let (raw, alloc) = weak.into_raw_with_allocator();\n \n assert_eq!(1, Rc::weak_count(&strong));\n assert_eq!(\"hello\", unsafe { &*raw });\n \n drop(unsafe { Weak::from_raw_in(raw, alloc) });\n assert_eq!(0, Rc::weak_count(&strong));
    \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@@ -139,18 +139,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());
    \n-
    1.4.0 \u00b7 source

    pub fn upgrade(&self) -> Option<Rc<T, A>>
    where\n- A: Clone,

    Attempts to upgrade the Weak pointer to an Rc, delaying\n+

    1.4.0 \u00b7 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@@ -158,19 +158,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());
    \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@@ -192,29 +192,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));
    \n-

    Trait Implementations\u00a7

    1.4.0 \u00b7 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

    1.4.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.4.0 \u00b7 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
    1.4.0 \u00b7 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());
    \n-
    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n+
    1.4.0 \u00b7 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@@ -226,24 +226,24 @@\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());
    \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> PinCoerceUnsized for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Weak<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for Weak<T, A>

    \u00a7

    impl<T, A> Unpin for Weak<T, A>
    where\n- A: Unpin,\n- T: ?Sized,

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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> PinCoerceUnsized for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Weak<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for Weak<T, A>

    \u00a7

    impl<T, A> Unpin for Weak<T, A>
    where\n+ A: Unpin,\n+ T: ?Sized,

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/fn.from_mut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut.html", "unified_diff": "@@ -1,2 +1,2 @@\n-from_mut in alloc::slice - Rust
    alloc::slice

    Function from_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const 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+from_mut in alloc::slice - Rust
    alloc::slice

    Function from_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const 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-doc/html/alloc/slice/fn.from_mut_ptr_range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut_ptr_range.html", "unified_diff": "@@ -1,24 +1,24 @@\n-from_mut_ptr_range in alloc::slice - Rust
    alloc::slice

    Function from_mut_ptr_range

    source
    pub const unsafe fn from_mut_ptr_range<'a, T>(\n-    range: Range<*mut T>,\n-) -> &'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+from_mut_ptr_range in alloc::slice - Rust
    alloc::slice

    Function from_mut_ptr_range

    source
    pub const unsafe fn from_mut_ptr_range<'a, T>(\n+    range: Range<*mut T>,\n+) -> &'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 non-null, valid and properly aligned pointer\n+

      The start pointer of the range must be a non-null, 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@@ -29,18 +29,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 start 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-doc/html/alloc/slice/fn.from_ptr_range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ptr_range.html", "unified_diff": "@@ -1,20 +1,20 @@\n-from_ptr_range in alloc::slice - Rust

    alloc::slice

    Function from_ptr_range

    source
    pub const 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+from_ptr_range in alloc::slice - Rust
    alloc::slice

    Function from_ptr_range

    source
    pub const 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 non-null, valid and properly aligned pointer\n+

      The start pointer of the range must be a non-null, 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@@ -24,18 +24,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 start 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-doc/html/alloc/slice/fn.from_raw_parts.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts.html", "unified_diff": "@@ -1,37 +1,37 @@\n-from_raw_parts in alloc::slice - Rust

    alloc::slice

    Function from_raw_parts

    1.36.0 (const: 1.64.0) \u00b7 source
    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+from_raw_parts in alloc::slice - Rust
    alloc::slice

    Function from_raw_parts

    1.36.0 (const: 1.64.0) \u00b7 source
    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 non-null, valid for reads for len * mem::size_of::<T>() many bytes,\n+

      data must be non-null, 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 or slices of ZSTs. 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-doc/html/alloc/slice/fn.from_raw_parts_mut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts_mut.html", "unified_diff": "@@ -1,36 +1,36 @@\n-from_raw_parts_mut in alloc::slice - Rust

    alloc::slice

    Function from_raw_parts_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const unsafe fn from_raw_parts_mut<'a, T>(\n-    data: *mut T,\n-    len: usize,\n-) -> &'a mut [T]
    Expand description

    Performs the same functionality as from_raw_parts, except that a\n+from_raw_parts_mut in alloc::slice - Rust

    alloc::slice

    Function from_raw_parts_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const unsafe fn from_raw_parts_mut<'a, T>(\n+    data: *mut T,\n+    len: usize,\n+) -> &'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 non-null, valid for both reads and writes for len * mem::size_of::<T>() many bytes,\n+

      data must be non-null, 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 or slices of ZSTs. 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-doc/html/alloc/slice/fn.from_ref.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ref.html", "unified_diff": "@@ -1,2 +1,2 @@\n-from_ref in alloc::slice - Rust
    alloc::slice

    Function from_ref

    1.36.0 (const: 1.63.0) \u00b7 source
    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+from_ref in alloc::slice - Rust
    alloc::slice

    Function from_ref

    1.36.0 (const: 1.63.0) \u00b7 source
    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-doc/html/alloc/slice/fn.range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.range.html", "unified_diff": "@@ -1,28 +1,28 @@\n-range in alloc::slice - Rust
    alloc::slice

    Function range

    source
    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+range in alloc::slice - Rust

    alloc::slice

    Function range

    source
    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()));
    \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);
    \n \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html", "unified_diff": "@@ -1,20 +1,20 @@\n-try_range in alloc::slice - Rust
    alloc::slice

    Function try_range

    source
    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+try_range in alloc::slice - Rust
    alloc::slice

    Function try_range

    source
    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()));
    \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-doc/html/alloc/slice/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/index.html", "unified_diff": "@@ -1,9 +1,9 @@\n alloc::slice - Rust
    alloc

    Module slice

    1.36.0 \u00b7 source
    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@@ -26,9 +26,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-doc/html/alloc/slice/struct.ArrayChunks.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunks.html", "unified_diff": "@@ -1,232 +1,232 @@\n-ArrayChunks in alloc::slice - Rust
    alloc::slice

    Struct ArrayChunks

    source
    pub struct ArrayChunks<'a, T, const N: usize>
    where\n+ArrayChunks in alloc::slice - Rust
    alloc::slice

    Struct ArrayChunks

    source
    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 mut iter = slice.array_chunks::<2>();\n assert_eq!(iter.next(), Some(&['l', 'o']));\n assert_eq!(iter.next(), Some(&['r', 'e']));\n assert_eq!(iter.next(), None);
    \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>

    source\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>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ArrayChunksMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunksMut.html", "unified_diff": "@@ -1,228 +1,228 @@\n-ArrayChunksMut in alloc::slice - Rust
    alloc::slice

    Struct ArrayChunksMut

    source
    pub struct ArrayChunksMut<'a, T, const N: usize>
    where\n+ArrayChunksMut in alloc::slice - Rust
    alloc::slice

    Struct ArrayChunksMut

    source
    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>();
    \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>

    source\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>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ArrayWindows.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayWindows.html", "unified_diff": "@@ -1,226 +1,226 @@\n-ArrayWindows in alloc::slice - Rust
    alloc::slice

    Struct ArrayWindows

    source
    pub struct ArrayWindows<'a, T, const N: usize>
    where\n+ArrayWindows in alloc::slice - Rust
    alloc::slice

    Struct ArrayWindows

    source
    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 mut iter = slice.array_windows::<2>();\n assert_eq!(iter.next(), Some(&[0, 1]));\n assert_eq!(iter.next(), Some(&[1, 2]));\n assert_eq!(iter.next(), Some(&[2, 3]));\n assert_eq!(iter.next(), None);
    \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>

    source\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>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ChunkBy.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkBy.html", "unified_diff": "@@ -1,221 +1,221 @@\n-ChunkBy in alloc::slice - Rust
    alloc::slice

    Struct ChunkBy

    1.77.0 \u00b7 source
    pub struct ChunkBy<'a, T, P>
    where\n+ChunkBy in alloc::slice - Rust
    alloc::slice

    Struct ChunkBy

    1.77.0 \u00b7 source
    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

    1.77.0 \u00b7 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
    1.77.0 \u00b7 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

    1.77.0 \u00b7 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
    1.77.0 \u00b7 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
    1.77.0 \u00b7 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
    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for ChunkBy<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.77.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.77.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ChunkByMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkByMut.html", "unified_diff": "@@ -1,220 +1,220 @@\n-ChunkByMut in alloc::slice - Rust
    alloc::slice

    Struct ChunkByMut

    1.77.0 \u00b7 source
    pub struct ChunkByMut<'a, T, P>
    where\n+ChunkByMut in alloc::slice - Rust
    alloc::slice

    Struct ChunkByMut

    1.77.0 \u00b7 source
    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

    1.77.0 \u00b7 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
    1.77.0 \u00b7 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

    1.77.0 \u00b7 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
    1.77.0 \u00b7 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
    1.77.0 \u00b7 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
    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for ChunkByMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.77.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.77.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.Chunks.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.Chunks.html", "unified_diff": "@@ -1,224 +1,224 @@\n-Chunks in alloc::slice - Rust
    alloc::slice

    Struct Chunks

    1.36.0 \u00b7 source
    pub struct Chunks<'a, T>
    where\n+Chunks in alloc::slice - Rust
    alloc::slice

    Struct Chunks

    1.36.0 \u00b7 source
    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 mut iter = slice.chunks(2);\n assert_eq!(iter.next(), Some(&['l', 'o'][..]));\n assert_eq!(iter.next(), Some(&['r', 'e'][..]));\n assert_eq!(iter.next(), Some(&['m'][..]));\n assert_eq!(iter.next(), None);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Chunks<'_, T>

    source\u00a7

    fn clone(&self) -> Chunks<'_, 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Chunks<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Chunks<'a, T>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Chunks<'_, T>

    source\u00a7

    fn clone(&self) -> Chunks<'_, 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Chunks<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Chunks<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ChunksExact.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExact.html", "unified_diff": "@@ -1,240 +1,240 @@\n-ChunksExact in alloc::slice - Rust
    alloc::slice

    Struct ChunksExact

    1.36.0 \u00b7 source
    pub struct ChunksExact<'a, T>
    where\n+ChunksExact in alloc::slice - Rust
    alloc::slice

    Struct ChunksExact

    1.36.0 \u00b7 source
    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 mut iter = slice.chunks_exact(2);\n assert_eq!(iter.next(), Some(&['l', 'o'][..]));\n assert_eq!(iter.next(), Some(&['r', 'e'][..]));\n assert_eq!(iter.next(), None);
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExact<'a, T>

    1.31.0 \u00b7 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>

    1.31.0 \u00b7 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'][..]);
    \n-

    Trait Implementations\u00a7

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksExact<'a, T>

    source\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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksExact<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ChunksExactMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExactMut.html", "unified_diff": "@@ -1,223 +1,223 @@\n-ChunksExactMut in alloc::slice - Rust
    alloc::slice

    Struct ChunksExactMut

    1.36.0 \u00b7 source
    pub struct ChunksExactMut<'a, T>
    where\n+ChunksExactMut in alloc::slice - Rust
    alloc::slice

    Struct ChunksExactMut

    1.36.0 \u00b7 source
    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);
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExactMut<'a, T>

    1.31.0 \u00b7 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>

    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksExactMut<'a, T>

    source\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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksExactMut<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for ChunksExactMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for ChunksExactMut<'_, T>
    where\n- T: Send,

    1.31.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for ChunksExactMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for ChunksExactMut<'_, T>
    where\n+ T: Send,

    1.31.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.ChunksMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksMut.html", "unified_diff": "@@ -1,216 +1,216 @@\n-ChunksMut in alloc::slice - Rust
    alloc::slice

    Struct ChunksMut

    1.36.0 \u00b7 source
    pub struct ChunksMut<'a, T>
    where\n+ChunksMut in alloc::slice - Rust
    alloc::slice

    Struct ChunksMut

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for ChunksMut<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksMut<'a, T>

    source\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

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for ChunksMut<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for ChunksMut<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for ChunksMut<'_, T>
    where\n- T: Send,

    1.0.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for ChunksMut<'_, T>
    where\n+ T: Send,

    1.0.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.EscapeAscii.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.EscapeAscii.html", "unified_diff": "@@ -1,206 +1,206 @@\n-EscapeAscii in alloc::slice - Rust
    alloc::slice

    Struct EscapeAscii

    1.60.0 \u00b7 source
    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+EscapeAscii in alloc::slice - Rust

    alloc::slice

    Struct EscapeAscii

    1.60.0 \u00b7 source
    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

    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeAscii<'a>

    source\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

    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 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
    1.60.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeAscii<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.60.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.60.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.Iter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.Iter.html", "unified_diff": "@@ -1,21 +1,21 @@\n-Iter in alloc::slice - Rust
    alloc::slice

    Struct Iter

    1.36.0 \u00b7 source
    pub struct Iter<'a, T>
    where\n+Iter in alloc::slice - Rust
    alloc::slice

    Struct Iter

    1.36.0 \u00b7 source
    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 }
    \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@@ -26,221 +26,221 @@\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());
    \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.
    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Iter<'_, 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
    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.
    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Iter<'_, 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
    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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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,

    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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    source\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,

    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
    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.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.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.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.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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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
    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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    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
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for Iter<'_, T>
    where\n- T: Sync,

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for Iter<'_, T>
    where\n+ T: Sync,

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.IterMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.IterMut.html", "unified_diff": "@@ -1,25 +1,25 @@\n-IterMut in alloc::slice - Rust
    alloc::slice

    Struct IterMut

    1.36.0 \u00b7 source
    pub struct IterMut<'a, T>
    where\n+IterMut in alloc::slice - Rust
    alloc::slice

    Struct IterMut

    1.36.0 \u00b7 source
    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:?}\");
    \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@@ -39,15 +39,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:?}\");
    \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@@ -56,15 +56,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]);
    \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@@ -82,220 +82,220 @@\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]);
    \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);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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+

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    source\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
    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.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.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.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.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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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
    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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for IterMut<'_, T>
    where\n- T: Send,

    1.0.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T> Send for IterMut<'_, T>
    where\n+ T: Send,

    1.0.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RChunks.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunks.html", "unified_diff": "@@ -1,224 +1,224 @@\n-RChunks in alloc::slice - Rust
    alloc::slice

    Struct RChunks

    1.36.0 \u00b7 source
    pub struct RChunks<'a, T>
    where\n+RChunks in alloc::slice - Rust
    alloc::slice

    Struct RChunks

    1.36.0 \u00b7 source
    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 mut iter = slice.rchunks(2);\n assert_eq!(iter.next(), Some(&['e', 'm'][..]));\n assert_eq!(iter.next(), Some(&['o', 'r'][..]));\n assert_eq!(iter.next(), Some(&['l'][..]));\n assert_eq!(iter.next(), None);
    \n-

    Trait Implementations\u00a7

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunks<'a, T>

    source\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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunks<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RChunksExact.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExact.html", "unified_diff": "@@ -1,240 +1,240 @@\n-RChunksExact in alloc::slice - Rust
    alloc::slice

    Struct RChunksExact

    1.36.0 \u00b7 source
    pub struct RChunksExact<'a, T>
    where\n+RChunksExact in alloc::slice - Rust
    alloc::slice

    Struct RChunksExact

    1.36.0 \u00b7 source
    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 mut iter = slice.rchunks_exact(2);\n assert_eq!(iter.next(), Some(&['e', 'm'][..]));\n assert_eq!(iter.next(), Some(&['o', 'r'][..]));\n assert_eq!(iter.next(), None);
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExact<'a, T>

    1.31.0 \u00b7 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>

    1.31.0 \u00b7 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'][..]);
    \n-

    Trait Implementations\u00a7

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksExact<'a, T>

    source\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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksExact<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RChunksExactMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExactMut.html", "unified_diff": "@@ -1,223 +1,223 @@\n-RChunksExactMut in alloc::slice - Rust
    alloc::slice

    Struct RChunksExactMut

    1.36.0 \u00b7 source
    pub struct RChunksExactMut<'a, T>
    where\n+RChunksExactMut in alloc::slice - Rust
    alloc::slice

    Struct RChunksExactMut

    1.36.0 \u00b7 source
    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);
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExactMut<'a, T>

    1.31.0 \u00b7 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>

    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksExactMut<'a, T>

    source\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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksExactMut<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for RChunksExactMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for RChunksExactMut<'_, T>
    where\n- T: Send,

    1.31.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for RChunksExactMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for RChunksExactMut<'_, T>
    where\n+ T: Send,

    1.31.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RChunksMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksMut.html", "unified_diff": "@@ -1,219 +1,219 @@\n-RChunksMut in alloc::slice - Rust
    alloc::slice

    Struct RChunksMut

    1.36.0 \u00b7 source
    pub struct RChunksMut<'a, T>
    where\n+RChunksMut in alloc::slice - Rust
    alloc::slice

    Struct RChunksMut

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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

    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksMut<'a, T>

    source\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
    1.31.0 \u00b7 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
    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for RChunksMut<'a, T>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for RChunksMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for RChunksMut<'_, T>
    where\n- T: Send,

    1.31.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.31.0 \u00b7 source\u00a7

    impl<T> FusedIterator for RChunksMut<'_, T>

    1.31.0 \u00b7 source\u00a7

    impl<T> Send for RChunksMut<'_, T>
    where\n+ T: Send,

    1.31.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RSplit.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplit.html", "unified_diff": "@@ -1,231 +1,231 @@\n-RSplit in alloc::slice - Rust
    alloc::slice

    Struct RSplit

    1.36.0 \u00b7 source
    pub struct RSplit<'a, T, P>
    where\n+RSplit in alloc::slice - Rust
    alloc::slice

    Struct RSplit

    1.36.0 \u00b7 source
    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 mut iter = slice.rsplit(|num| *num == 0);\n assert_eq!(iter.next(), Some(&[44, 55][..]));\n assert_eq!(iter.next(), Some(&[11, 22, 33][..]));\n assert_eq!(iter.next(), None);
    \n-

    Trait Implementations\u00a7

    1.27.0 \u00b7 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
    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplit<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.27.0 \u00b7 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
    1.27.0 \u00b7 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
    1.27.0 \u00b7 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
    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.27.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplit<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.27.0 \u00b7 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
    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.27.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplit<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.27.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.27.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RSplitMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitMut.html", "unified_diff": "@@ -1,223 +1,223 @@\n-RSplitMut in alloc::slice - Rust
    alloc::slice

    Struct RSplitMut

    1.36.0 \u00b7 source
    pub struct RSplitMut<'a, T, P>
    where\n+RSplitMut in alloc::slice - Rust
    alloc::slice

    Struct RSplitMut

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.27.0 \u00b7 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
    1.27.0 \u00b7 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
    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.27.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.27.0 \u00b7 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
    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.27.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.27.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.27.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RSplitN.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitN.html", "unified_diff": "@@ -1,213 +1,213 @@\n-RSplitN in alloc::slice - Rust
    alloc::slice

    Struct RSplitN

    1.36.0 \u00b7 source
    pub struct RSplitN<'a, T, P>
    where\n+RSplitN in alloc::slice - Rust
    alloc::slice

    Struct RSplitN

    1.36.0 \u00b7 source
    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 mut iter = slice.rsplitn(2, |num| *num % 3 == 0);\n assert_eq!(iter.next(), Some(&[50][..]));\n assert_eq!(iter.next(), Some(&[10, 40, 30, 20][..]));\n assert_eq!(iter.next(), None);
    \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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.RSplitNMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitNMut.html", "unified_diff": "@@ -1,208 +1,208 @@\n-RSplitNMut in alloc::slice - Rust
    alloc::slice

    Struct RSplitNMut

    1.36.0 \u00b7 source
    pub struct RSplitNMut<'a, T, P>
    where\n+RSplitNMut in alloc::slice - Rust
    alloc::slice

    Struct RSplitNMut

    1.36.0 \u00b7 source
    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);
    \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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for RSplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.Split.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.Split.html", "unified_diff": "@@ -1,240 +1,240 @@\n-Split in alloc::slice - Rust
    alloc::slice

    Struct Split

    1.36.0 \u00b7 source
    pub struct Split<'a, T, P>
    where\n+Split in alloc::slice - Rust
    alloc::slice

    Struct Split

    1.36.0 \u00b7 source
    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);\n assert_eq!(iter.next(), Some(&[10, 40][..]));\n assert_eq!(iter.next(), Some(&[20][..]));\n assert_eq!(iter.next(), None);
    \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]);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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

    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for Split<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for Split<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.SplitInclusive.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusive.html", "unified_diff": "@@ -1,232 +1,232 @@\n-SplitInclusive in alloc::slice - Rust
    alloc::slice

    Struct SplitInclusive

    1.51.0 \u00b7 source
    pub struct SplitInclusive<'a, T, P>
    where\n+SplitInclusive in alloc::slice - Rust
    alloc::slice

    Struct SplitInclusive

    1.51.0 \u00b7 source
    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);\n assert_eq!(iter.next(), Some(&[10, 40, 33][..]));\n assert_eq!(iter.next(), Some(&[20][..]));\n assert_eq!(iter.next(), None);
    \n-

    Trait Implementations\u00a7

    1.51.0 \u00b7 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
    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitInclusive<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.51.0 \u00b7 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
    1.51.0 \u00b7 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
    1.51.0 \u00b7 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitInclusive<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.51.0 \u00b7 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitInclusive<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.51.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.51.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.SplitInclusiveMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusiveMut.html", "unified_diff": "@@ -1,224 +1,224 @@\n-SplitInclusiveMut in alloc::slice - Rust
    alloc::slice

    Struct SplitInclusiveMut

    1.51.0 \u00b7 source
    pub struct SplitInclusiveMut<'a, T, P>
    where\n+SplitInclusiveMut in alloc::slice - Rust
    alloc::slice

    Struct SplitInclusiveMut

    1.51.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitInclusiveMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.51.0 \u00b7 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
    1.51.0 \u00b7 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitInclusiveMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.51.0 \u00b7 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitInclusiveMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.51.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.51.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.SplitMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitMut.html", "unified_diff": "@@ -1,223 +1,223 @@\n-SplitMut in alloc::slice - Rust
    alloc::slice

    Struct SplitMut

    1.36.0 \u00b7 source
    pub struct SplitMut<'a, T, P>
    where\n+SplitMut in alloc::slice - Rust
    alloc::slice

    Struct SplitMut

    1.36.0 \u00b7 source
    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);
    \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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.SplitN.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitN.html", "unified_diff": "@@ -1,212 +1,212 @@\n-SplitN in alloc::slice - Rust
    alloc::slice

    Struct SplitN

    1.36.0 \u00b7 source
    pub struct SplitN<'a, T, P>
    where\n+SplitN in alloc::slice - Rust
    alloc::slice

    Struct SplitN

    1.36.0 \u00b7 source
    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 mut iter = slice.splitn(2, |num| *num % 3 == 0);\n assert_eq!(iter.next(), Some(&[10, 40][..]));\n assert_eq!(iter.next(), Some(&[20, 60, 50][..]));\n assert_eq!(iter.next(), None);
    \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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.SplitNMut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitNMut.html", "unified_diff": "@@ -1,207 +1,207 @@\n-SplitNMut in alloc::slice - Rust
    alloc::slice

    Struct SplitNMut

    1.36.0 \u00b7 source
    pub struct SplitNMut<'a, T, P>
    where\n+SplitNMut in alloc::slice - Rust
    alloc::slice

    Struct SplitNMut

    1.36.0 \u00b7 source
    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);
    \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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T, P> Iterator for SplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/struct.Windows.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/struct.Windows.html", "unified_diff": "@@ -1,221 +1,221 @@\n-Windows in alloc::slice - Rust
    alloc::slice

    Struct Windows

    1.36.0 \u00b7 source
    pub struct Windows<'a, T>
    where\n+Windows in alloc::slice - Rust
    alloc::slice

    Struct Windows

    1.36.0 \u00b7 source
    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 mut iter = slice.windows(2);\n assert_eq!(iter.next(), Some(&['r', 'u'][..]));\n assert_eq!(iter.next(), Some(&['u', 's'][..]));\n assert_eq!(iter.next(), Some(&['s', 't'][..]));\n assert_eq!(iter.next(), None);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Windows<'_, T>

    source\u00a7

    fn clone(&self) -> Windows<'_, 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Windows<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Windows<'a, T>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<T> Clone for Windows<'_, T>

    source\u00a7

    fn clone(&self) -> Windows<'_, 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T> ExactSizeIterator for Windows<'_, 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, T> Iterator for Windows<'a, T>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/slice/trait.Concat.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/trait.Concat.html", "unified_diff": "@@ -1,13 +1,13 @@\n-Concat in alloc::slice - Rust
    alloc::slice

    Trait Concat

    source
    pub trait Concat<Item: ?Sized> {\n+Concat in alloc::slice - Rust
    alloc::slice

    Trait Concat

    source
    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+}
    \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@@ -21,11 +21,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 }
    \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]

    \n+
    source\u00a7

    impl<T: Clone, V: Borrow<[T]>> Concat<T> for [V]

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html", "unified_diff": "@@ -1,9 +1,9 @@\n Join in alloc::slice - Rust
    alloc::slice

    Trait Join

    source
    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+}
    \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-doc/html/alloc/slice/trait.SliceIndex.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/trait.SliceIndex.html", "unified_diff": "@@ -1,48 +1,48 @@\n-SliceIndex in alloc::slice - Rust
    alloc::slice

    Trait SliceIndex

    1.36.0 \u00b7 source
    pub unsafe trait SliceIndex<T>: Sealed
    where\n- T: ?Sized,
    {\n- type Output: ?Sized;\n+SliceIndex in alloc::slice - Rust
    alloc::slice

    Trait SliceIndex

    1.36.0 \u00b7 source
    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

    1.28.0 \u00b7 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

    1.28.0 \u00b7 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 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::Range<usize>

    Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].

    \n+
    1.20.0 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::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@@ -59,67 +59,67 @@\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];

    \n-
    1.20.0 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::RangeFrom<usize>

    Implements substring slicing with syntax &self[begin ..] or &mut self[begin ..].

    \n+
    1.20.0 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::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 \u00b7 source\u00a7

    impl SliceIndex<str> for RangeFull

    Implements substring slicing with syntax &self[..] or &mut self[..].

    \n+
    1.20.0 \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 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::RangeInclusive<usize>

    Implements substring slicing with syntax &self[begin ..= end] or &mut self[begin ..= end].

    \n+
    1.26.0 \u00b7 source\u00a7

    impl SliceIndex<str> for core::ops::range::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 \u00b7 source\u00a7

    impl SliceIndex<str> for RangeTo<usize>

    Implements substring slicing with syntax &self[.. end] or &mut self[.. end].

    \n+
    1.20.0 \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 \u00b7 source\u00a7

    impl SliceIndex<str> for RangeToInclusive<usize>

    Implements substring slicing with syntax &self[..= end] or &mut self[..= end].

    \n+
    1.26.0 \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-
    source\u00a7

    impl SliceIndex<str> for core::range::Range<usize>

    source\u00a7

    impl SliceIndex<str> for core::range::RangeFrom<usize>

    source\u00a7

    impl SliceIndex<str> for core::range::RangeInclusive<usize>

    1.53.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)

    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for usize

    The methods index and index_mut panic if the index is out of bounds.

    \n-
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::Range<usize>

    The methods index and index_mut panic if:

    \n+
    source\u00a7

    impl SliceIndex<str> for core::range::Range<usize>

    source\u00a7

    impl SliceIndex<str> for core::range::RangeFrom<usize>

    source\u00a7

    impl SliceIndex<str> for core::range::RangeInclusive<usize>

    1.53.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)

    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for usize

    The methods index and index_mut panic if the index is out of bounds.

    \n+
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::Range<usize>

    The methods index and index_mut panic if:

    \n
      \n
    • the start of the range is greater than the end of the range or
    • \n
    • the end of the range is out of bounds.
    • \n
    \n-
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::RangeFrom<usize>

    The methods index and index_mut panic if the start of the range is out of bounds.

    \n-
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFull

    1.26.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::RangeInclusive<usize>

    The methods index and index_mut panic if:

    \n+
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::RangeFrom<usize>

    The methods index and index_mut panic if the start of the range is out of bounds.

    \n+
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFull

    1.26.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for core::ops::range::RangeInclusive<usize>

    The methods index and index_mut panic if:

    \n
      \n
    • the end of the range is usize::MAX or
    • \n
    • the start of the range is greater than the end of the range or
    • \n
    • the end of the range is out of bounds.
    • \n
    \n-
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeTo<usize>

    The methods index and index_mut panic if the end of the range is out of bounds.

    \n-
    1.26.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeToInclusive<usize>

    The methods index and index_mut panic if the end of the range is out of bounds.

    \n-
    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::Range<usize>

    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::RangeFrom<usize>

    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::RangeInclusive<usize>

    \n+
    1.15.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeTo<usize>

    The methods index and index_mut panic if the end of the range is out of bounds.

    \n+
    1.26.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeToInclusive<usize>

    The methods index and index_mut panic if the end of the range is out of bounds.

    \n+
    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::Range<usize>

    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::RangeFrom<usize>

    source\u00a7

    impl<T> SliceIndex<[T]> for core::range::RangeInclusive<usize>

    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html", "unified_diff": "@@ -1,8 +1,8 @@\n-from_boxed_utf8_unchecked in alloc::str - Rust
    alloc::str

    Function from_boxed_utf8_unchecked

    1.36.0 \u00b7 source
    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+from_boxed_utf8_unchecked in alloc::str - Rust

    alloc::str

    Function from_boxed_utf8_unchecked

    1.36.0 \u00b7 source
    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);
    \n
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html", "unified_diff": "@@ -1,8 +1,8 @@\n-from_raw_parts in alloc::str - Rust
    alloc::str

    Function from_raw_parts

    source
    pub const 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 a &str from a pointer and a length.

    \n+from_raw_parts in alloc::str - Rust
    alloc::str

    Function from_raw_parts

    source
    pub const 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 a &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-doc/html/alloc/str/fn.from_raw_parts_mut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts_mut.html", "unified_diff": "@@ -1,11 +1,11 @@\n-from_raw_parts_mut in alloc::str - Rust
    alloc::str

    Function from_raw_parts_mut

    source
    pub const unsafe fn from_raw_parts_mut<'a>(\n-    ptr: *mut u8,\n-    len: usize,\n-) -> &'a mut str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates a &mut str from a pointer and a length.

    \n+from_raw_parts_mut in alloc::str - Rust
    alloc::str

    Function from_raw_parts_mut

    source
    pub const unsafe fn from_raw_parts_mut<'a>(\n+    ptr: *mut u8,\n+    len: usize,\n+) -> &'a mut str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates a &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-doc/html/alloc/str/fn.from_utf8.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8.html", "unified_diff": "@@ -1,21 +1,21 @@\n-from_utf8 in alloc::str - Rust
    alloc::str

    Function from_utf8

    1.36.0 (const: 1.63.0) \u00b7 source
    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+from_utf8 in alloc::str - Rust

    alloc::str

    Function from_utf8

    1.36.0 (const: 1.63.0) \u00b7 source
    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-doc/html/alloc/str/fn.from_utf8_mut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_mut.html", "unified_diff": "@@ -1,8 +1,8 @@\n-from_utf8_mut in alloc::str - Rust
    alloc::str

    Function from_utf8_mut

    1.36.0 (const: unstable) \u00b7 source
    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+from_utf8_mut in alloc::str - Rust
    alloc::str

    Function from_utf8_mut

    1.36.0 (const: unstable) \u00b7 source
    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-doc/html/alloc/str/fn.from_utf8_unchecked.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked.html", "unified_diff": "@@ -1,8 +1,8 @@\n-from_utf8_unchecked in alloc::str - Rust
    alloc::str

    Function from_utf8_unchecked

    1.36.0 (const: 1.55.0) \u00b7 source
    pub const unsafe fn from_utf8_unchecked(v: &[u8]) -> &str
    Expand description

    Converts a slice of bytes to a string slice without checking\n+from_utf8_unchecked in alloc::str - Rust

    alloc::str

    Function from_utf8_unchecked

    1.36.0 (const: 1.55.0) \u00b7 source
    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-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html", "unified_diff": "@@ -1,8 +1,8 @@\n-from_utf8_unchecked_mut in alloc::str - Rust
    alloc::str

    Function from_utf8_unchecked_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const 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+from_utf8_unchecked_mut in alloc::str - Rust

    alloc::str

    Function from_utf8_unchecked_mut

    1.36.0 (const: 1.83.0) \u00b7 source
    pub const 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-doc/html/alloc/str/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/index.html", "unified_diff": "@@ -1,13 +1,13 @@\n alloc::str - Rust
    alloc

    Module str

    1.36.0 \u00b7 source
    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

    • 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 a &str from a pointer and a length.
    • from_raw_parts_mut\u26a0Experimental
      Creates a &mut str from a pointer and a length.
    \n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html", "unified_diff": "@@ -1,27 +1,27 @@\n-SearchStep in alloc::str::pattern - Rust
    alloc::str::pattern

    Enum SearchStep

    source
    pub enum SearchStep {\n-    Match(usize, usize),\n-    Reject(usize, usize),\n+SearchStep in alloc::str::pattern - Rust
    alloc::str::pattern

    Enum SearchStep

    source
    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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/index.html", "unified_diff": "@@ -1,17 +1,17 @@\n-alloc::str::pattern - Rust
    alloc::str

    Module pattern

    source
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    The string Pattern API.

    \n+alloc::str::pattern - Rust
    alloc::str

    Module pattern

    source
    \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@@ -19,8 +19,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));
    \n

    Structs\u00a7

    • Associated type for <&[char; N] as Pattern>::Searcher<'a>.
    • CharArraySearcherExperimental
      Associated type for <[char; N] as Pattern>::Searcher<'a>.
    • Associated type for <F as Pattern>::Searcher<'a>.
    • CharSearcherExperimental
      Associated type for <char as Pattern>::Searcher<'a>.
    • CharSliceSearcherExperimental
      Associated type for <&[char] as Pattern>::Searcher<'a>.
    • StrSearcherExperimental
      Associated type for <&str as Pattern>::Searcher<'a>.

    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-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n-CharArrayRefSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharArrayRefSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+CharArrayRefSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharArrayRefSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/struct.CharArraySearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArraySearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n-CharArraySearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharArraySearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+CharArraySearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharArraySearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html", "unified_diff": "@@ -1,30 +1,30 @@\n-CharPredicateSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharPredicateSearcher

    source
    pub struct CharPredicateSearcher<'a, F>(/* private fields */)\n+CharPredicateSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharPredicateSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/struct.CharSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n-CharSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharSearcher

    source
    pub struct CharSearcher<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <char as Pattern>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+CharSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharSearcher

    source
    pub struct CharSearcher<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <char as Pattern>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n-CharSliceSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharSliceSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+CharSliceSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct CharSliceSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/struct.StrSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.StrSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n-StrSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct StrSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+StrSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Struct StrSearcher

    source
    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>::Searcher<'a>.

    \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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html", "unified_diff": "@@ -1,20 +1,20 @@\n-DoubleEndedSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait DoubleEndedSearcher

    source
    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+DoubleEndedSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait DoubleEndedSearcher

    source
    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 on 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-doc/html/alloc/str/pattern/trait.Pattern.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Pattern.html", "unified_diff": "@@ -1,31 +1,31 @@\n-Pattern in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait Pattern

    source
    pub trait Pattern: Sized {\n+Pattern in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait Pattern

    source
    pub trait Pattern: Sized {\n     type Searcher<'a>: Searcher<'a>;\n \n     // Required method\n-    fn into_searcher(self, haystack: &str) -> Self::Searcher<'_>;\n+    fn into_searcher(self, haystack: &str) -> Self::Searcher<'_>;\n \n     // Provided methods\n-    fn is_contained_in(self, haystack: &str) -> bool { ... }\n-    fn is_prefix_of(self, haystack: &str) -> bool { ... }\n-    fn is_suffix_of<'a>(self, haystack: &'a str) -> bool\n+    fn is_contained_in(self, haystack: &str) -> bool { ... }\n+    fn is_prefix_of(self, haystack: &str) -> bool { ... }\n+    fn is_suffix_of<'a>(self, haystack: &'a str) -> bool\n        where Self::Searcher<'a>: ReverseSearcher<'a> { ... }\n-    fn strip_prefix_of(self, haystack: &str) -> Option<&str> { ... }\n-    fn strip_suffix_of<'a>(self, haystack: &'a str) -> Option<&'a str>\n+    fn strip_prefix_of(self, haystack: &str) -> Option<&str> { ... }\n+    fn strip_suffix_of<'a>(self, haystack: &'a str) -> Option<&'a str>\n        where Self::Searcher<'a>: ReverseSearcher<'a> { ... }\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A string pattern.

    \n

    A Pattern expresses that the implementing type\n-can be used as a string pattern for searching in a &str.

    \n+can be used as a string pattern for searching in 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@@ -50,47 +50,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);\n-

    Required Associated Types\u00a7

    source

    type Searcher<'a>: 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: &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<'a>: 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: &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: &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: &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<'a>(self, haystack: &'a str) -> bool
    where\n+

    Provided Methods\u00a7

    source

    fn is_contained_in(self, haystack: &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: &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<'a>(self, haystack: &'a str) -> bool
    where\n Self::Searcher<'a>: 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: &str) -> Option<&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<'a>(self, haystack: &'a str) -> Option<&'a str>
    where\n+

    source

    fn strip_prefix_of(self, haystack: &str) -> Option<&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<'a>(self, haystack: &'a str) -> Option<&'a str>
    where\n Self::Searcher<'a>: 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 Pattern 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 Pattern for char

    Searches for chars that are equal to a given char.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find('o'), Some(4));
    \n-
    source\u00a7

    impl<'b> Pattern for &'b str

    Non-allocating substring search.

    \n+
    source\u00a7

    impl<'b> Pattern 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));
    \n-
    source\u00a7

    impl<'b> Pattern for &'b String

    A convenience impl that delegates to the impl for &str.

    \n+
    source\u00a7

    impl<'b> Pattern 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));
    \n-
    source\u00a7

    type Searcher<'a> = <&'b str as Pattern>::Searcher<'a>

    source\u00a7

    impl<'b> Pattern for &'b [char]

    Searches for chars that are equal to any of the chars in the slice.

    \n+
    source\u00a7

    type Searcher<'a> = <&'b str as Pattern>::Searcher<'a>

    source\u00a7

    impl<'b> Pattern 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));
    \n-
    source\u00a7

    impl<'b, 'c> Pattern for &'c &'b str

    Delegates to the &str impl.

    \n-
    source\u00a7

    impl<'b, const N: usize> Pattern for &'b [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n+
    source\u00a7

    impl<'b, 'c> Pattern for &'c &'b str

    Delegates to the &str impl.

    \n+
    source\u00a7

    impl<'b, const N: usize> Pattern 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));
    \n-
    source\u00a7

    impl<F> Pattern for F
    where\n- F: FnMut(char) -> bool,

    Searches for chars that match the given predicate.

    \n+
    source\u00a7

    impl<F> Pattern 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));
    \n-
    source\u00a7

    impl<const N: usize> Pattern for [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n+
    source\u00a7

    impl<const N: usize> Pattern 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));
    \n-
    \n+\n"}, {"source1": "./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html", "unified_diff": "@@ -1,25 +1,25 @@\n-ReverseSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait ReverseSearcher

    source
    pub unsafe trait ReverseSearcher<'a>: Searcher<'a> {\n+ReverseSearcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait ReverseSearcher

    source
    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@@ -30,13 +30,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-doc/html/alloc/str/pattern/trait.Searcher.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Searcher.html", "unified_diff": "@@ -1,27 +1,27 @@\n-Searcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait Searcher

    source
    pub unsafe trait Searcher<'a> {\n+Searcher in alloc::str::pattern - Rust
    alloc::str::pattern

    Trait Searcher

    source
    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@@ -32,18 +32,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-doc/html/alloc/str/struct.Bytes.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Bytes.html", "unified_diff": "@@ -1,203 +1,203 @@\n-Bytes in alloc::str - Rust
    alloc::str

    Struct Bytes

    1.36.0 \u00b7 source
    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+Bytes in alloc::str - Rust

    alloc::str

    Struct Bytes

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Bytes<'a>

    source\u00a7

    fn clone(&self) -> Bytes<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl Iterator for Bytes<'_>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Bytes<'a>

    source\u00a7

    fn clone(&self) -> Bytes<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl Iterator for Bytes<'_>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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
    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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.CharIndices.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.CharIndices.html", "unified_diff": "@@ -1,14 +1,14 @@\n-CharIndices in alloc::str - Rust
    alloc::str

    Struct CharIndices

    1.36.0 \u00b7 source
    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+CharIndices in alloc::str - Rust

    alloc::str

    Struct CharIndices

    1.36.0 \u00b7 source
    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-
    1.82.0 \u00b7 source

    pub fn offset(&self) -> usize

    Returns the byte position of the next character, or the length\n+

    1.82.0 \u00b7 source

    pub fn offset(&self) -> usize

    Returns the byte position of the next character, or the length\n of the underlying string if there are no more characters.

    \n

    This means that, when the iterator has not been fully consumed,\n the returned value will match the index that will be returned\n by the next call to next().

    \n
    \u00a7Examples
    \n
    let mut chars = \"a\u697d\".char_indices();\n \n@@ -24,210 +24,210 @@\n // ... which matches the index returned by the next call to `next()`.\n assert_eq!(chars.next(), Some((1, '\u697d')));\n \n // Once the iterator has been consumed, `offset()` returns the length\n // in bytes of the string.\n assert_eq!(chars.offset(), 4);\n assert_eq!(chars.next(), None);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for CharIndices<'a>

    source\u00a7

    fn clone(&self) -> CharIndices<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for CharIndices<'a>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for CharIndices<'a>

    source\u00a7

    fn clone(&self) -> CharIndices<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for CharIndices<'a>

    source\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
    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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Chars.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Chars.html", "unified_diff": "@@ -1,218 +1,218 @@\n-Chars in alloc::str - Rust
    alloc::str

    Struct Chars

    1.36.0 \u00b7 source
    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+Chars in alloc::str - Rust

    alloc::str

    Struct Chars

    1.36.0 \u00b7 source
    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(), \"\");
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Chars<'a>

    source\u00a7

    fn clone(&self) -> Chars<'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.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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for Chars<'a>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Chars<'a>

    source\u00a7

    fn clone(&self) -> Chars<'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.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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for Chars<'a>

    source\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
    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 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.EncodeUtf16.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.EncodeUtf16.html", "unified_diff": "@@ -1,193 +1,193 @@\n-EncodeUtf16 in alloc::str - Rust
    alloc::str

    Struct EncodeUtf16

    1.36.0 \u00b7 source
    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+EncodeUtf16 in alloc::str - Rust

    alloc::str

    Struct EncodeUtf16

    1.36.0 \u00b7 source
    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

    1.8.0 \u00b7 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
    1.8.0 \u00b7 source\u00a7

    impl<'a> Iterator for EncodeUtf16<'a>

    source\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

    1.8.0 \u00b7 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
    1.8.0 \u00b7 source\u00a7

    impl<'a> Iterator for EncodeUtf16<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.EscapeDebug.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDebug.html", "unified_diff": "@@ -1,191 +1,191 @@\n-EscapeDebug in alloc::str - Rust
    alloc::str

    Struct EscapeDebug

    1.36.0 \u00b7 source
    pub struct EscapeDebug<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_debug.

    \n-

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeDebug<'a>

    source\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+EscapeDebug in alloc::str - Rust
    alloc::str

    Struct EscapeDebug

    1.36.0 \u00b7 source
    pub struct EscapeDebug<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_debug.

    \n+

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeDebug<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.EscapeDefault.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDefault.html", "unified_diff": "@@ -1,191 +1,191 @@\n-EscapeDefault in alloc::str - Rust
    alloc::str

    Struct EscapeDefault

    1.36.0 \u00b7 source
    pub struct EscapeDefault<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_default.

    \n-

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeDefault<'a>

    source\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+EscapeDefault in alloc::str - Rust
    alloc::str

    Struct EscapeDefault

    1.36.0 \u00b7 source
    pub struct EscapeDefault<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_default.

    \n+

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeDefault<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.EscapeUnicode.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeUnicode.html", "unified_diff": "@@ -1,191 +1,191 @@\n-EscapeUnicode in alloc::str - Rust
    alloc::str

    Struct EscapeUnicode

    1.36.0 \u00b7 source
    pub struct EscapeUnicode<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_unicode.

    \n-

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeUnicode<'a>

    source\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+EscapeUnicode in alloc::str - Rust
    alloc::str

    Struct EscapeUnicode

    1.36.0 \u00b7 source
    pub struct EscapeUnicode<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_unicode.

    \n+

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for EscapeUnicode<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Lines.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Lines.html", "unified_diff": "@@ -1,219 +1,219 @@\n-Lines in alloc::str - Rust
    alloc::str

    Struct Lines

    1.36.0 \u00b7 source
    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+Lines in alloc::str - Rust

    alloc::str

    Struct Lines

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Lines<'a>

    source\u00a7

    fn clone(&self) -> Lines<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for Lines<'a>

    source\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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for Lines<'a>

    source\u00a7

    fn clone(&self) -> Lines<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for Lines<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.LinesAny.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.LinesAny.html", "unified_diff": "@@ -1,206 +1,206 @@\n-LinesAny in alloc::str - Rust
    alloc::str

    Struct LinesAny

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for LinesAny<'a>

    source\u00a7

    fn clone(&self) -> LinesAny<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for LinesAny<'a>

    source\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+LinesAny in alloc::str - Rust
    alloc::str

    Struct LinesAny

    1.36.0 \u00b7 source
    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

    1.0.0 \u00b7 source\u00a7

    impl<'a> Clone for LinesAny<'a>

    source\u00a7

    fn clone(&self) -> LinesAny<'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.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<'a> Iterator for LinesAny<'a>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.MatchIndices.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.MatchIndices.html", "unified_diff": "@@ -1,215 +1,215 @@\n-MatchIndices in alloc::str - Rust
    alloc::str

    Struct MatchIndices

    1.36.0 \u00b7 source
    pub struct MatchIndices<'a, P>(/* private fields */)\n+MatchIndices in alloc::str - Rust
    alloc::str

    Struct MatchIndices

    1.36.0 \u00b7 source
    pub struct MatchIndices<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method match_indices.

    \n-

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Clone for MatchIndices<'a, P>
    where\n+ P: Pattern;

    Expand description

    Created with the method match_indices.

    \n+

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Clone for MatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for MatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for MatchIndices<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for MatchIndices<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for MatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for MatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Matches.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Matches.html", "unified_diff": "@@ -1,215 +1,215 @@\n-Matches in alloc::str - Rust
    alloc::str

    Struct Matches

    1.36.0 \u00b7 source
    pub struct Matches<'a, P>(/* private fields */)\n+Matches in alloc::str - Rust
    alloc::str

    Struct Matches

    1.36.0 \u00b7 source
    pub struct Matches<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method matches.

    \n-

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Clone for Matches<'a, P>
    where\n+ P: Pattern;

    Expand description

    Created with the method matches.

    \n+

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Clone for Matches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for Matches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for Matches<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for Matches<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Matches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Matches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.ParseBoolError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.ParseBoolError.html", "unified_diff": "@@ -1,16 +1,16 @@\n-ParseBoolError in alloc::str - Rust
    alloc::str

    Struct ParseBoolError

    1.36.0 \u00b7 source
    #[non_exhaustive]
    pub struct ParseBoolError;
    Expand description

    An error returned when parsing a bool using from_str fails

    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Clone for ParseBoolError

    source\u00a7

    fn clone(&self) -> ParseBoolError

    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 ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for ParseBoolError

    source\u00a7

    fn eq(&self, other: &ParseBoolError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Eq for ParseBoolError

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ParseBoolError in alloc::str - Rust
    alloc::str

    Struct ParseBoolError

    1.36.0 \u00b7 source
    #[non_exhaustive]
    pub struct ParseBoolError;
    Expand description

    An error returned when parsing a bool using from_str fails

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Clone for ParseBoolError

    source\u00a7

    fn clone(&self) -> ParseBoolError

    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 ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for ParseBoolError

    source\u00a7

    fn eq(&self, other: &ParseBoolError) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Eq for ParseBoolError

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.RMatchIndices.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.RMatchIndices.html", "unified_diff": "@@ -1,217 +1,217 @@\n-RMatchIndices in alloc::str - Rust
    alloc::str

    Struct RMatchIndices

    1.36.0 \u00b7 source
    pub struct RMatchIndices<'a, P>(/* private fields */)\n+RMatchIndices in alloc::str - Rust
    alloc::str

    Struct RMatchIndices

    1.36.0 \u00b7 source
    pub struct RMatchIndices<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method rmatch_indices.

    \n-

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RMatchIndices<'a, P>
    where\n+ P: Pattern;

    Expand description

    Created with the method rmatch_indices.

    \n+

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RMatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RMatchIndices<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatchIndices<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatchIndices<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.RMatches.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.RMatches.html", "unified_diff": "@@ -1,217 +1,217 @@\n-RMatches in alloc::str - Rust
    alloc::str

    Struct RMatches

    1.36.0 \u00b7 source
    pub struct RMatches<'a, P>(/* private fields */)\n+RMatches in alloc::str - Rust
    alloc::str

    Struct RMatches

    1.36.0 \u00b7 source
    pub struct RMatches<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method rmatches.

    \n-

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RMatches<'a, P>
    where\n+ P: Pattern;

    Expand description

    Created with the method rmatches.

    \n+

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RMatches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RMatches<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatches<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatches<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.RSplit.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.RSplit.html", "unified_diff": "@@ -1,228 +1,228 @@\n-RSplit in alloc::str - Rust
    alloc::str

    Struct RSplit

    1.36.0 \u00b7 source
    pub struct RSplit<'a, P>(/* private fields */)\n+RSplit in alloc::str - Rust
    alloc::str

    Struct RSplit

    1.36.0 \u00b7 source
    pub struct RSplit<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method rsplit.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplit<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method rsplit.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplit<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplit<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplit<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplit<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplit<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplit<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplit<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplit<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplit<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplit<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.RSplitN.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitN.html", "unified_diff": "@@ -1,217 +1,217 @@\n-RSplitN in alloc::str - Rust
    alloc::str

    Struct RSplitN

    1.36.0 \u00b7 source
    pub struct RSplitN<'a, P>(/* private fields */)\n+RSplitN in alloc::str - Rust
    alloc::str

    Struct RSplitN

    1.36.0 \u00b7 source
    pub struct RSplitN<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method rsplitn.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitN<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method rsplitn.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitN<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplitN<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplitN<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplitN<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplitN<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitN<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplitN<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.RSplitTerminator.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitTerminator.html", "unified_diff": "@@ -1,228 +1,228 @@\n-RSplitTerminator in alloc::str - Rust
    alloc::str

    Struct RSplitTerminator

    1.36.0 \u00b7 source
    pub struct RSplitTerminator<'a, P>(/* private fields */)\n+RSplitTerminator in alloc::str - Rust
    alloc::str

    Struct RSplitTerminator

    1.36.0 \u00b7 source
    pub struct RSplitTerminator<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method rsplit_terminator.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitTerminator<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method rsplit_terminator.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitTerminator<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplitTerminator<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for RSplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplitTerminator<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> RSplitTerminator<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for RSplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,\n- <P as Pattern>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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>::Searcher<'a>: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Split.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Split.html", "unified_diff": "@@ -1,226 +1,226 @@\n-Split in alloc::str - Rust
    alloc::str

    Struct Split

    1.36.0 \u00b7 source
    pub struct Split<'a, P>(/* private fields */)\n+Split in alloc::str - Rust
    alloc::str

    Struct Split

    1.36.0 \u00b7 source
    pub struct Split<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method split.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> Split<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method split.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> Split<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for Split<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for Split<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> Split<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> Split<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Split<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for Split<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for Split<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for Split<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Split<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Split<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.SplitAsciiWhitespace.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.SplitAsciiWhitespace.html", "unified_diff": "@@ -1,221 +1,221 @@\n-SplitAsciiWhitespace in alloc::str - Rust
    alloc::str

    Struct SplitAsciiWhitespace

    1.36.0 \u00b7 source
    pub struct SplitAsciiWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-ASCII-whitespace substrings of a string,\n+SplitAsciiWhitespace in alloc::str - Rust

    alloc::str

    Struct SplitAsciiWhitespace

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for SplitAsciiWhitespace<'a>

    source\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

    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 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
    1.34.0 \u00b7 source\u00a7

    impl<'a> Iterator for SplitAsciiWhitespace<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.34.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.SplitInclusive.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.SplitInclusive.html", "unified_diff": "@@ -1,231 +1,231 @@\n-SplitInclusive in alloc::str - Rust
    alloc::str

    Struct SplitInclusive

    1.51.0 \u00b7 source
    pub struct SplitInclusive<'a, P>(/* private fields */)\n+SplitInclusive in alloc::str - Rust
    alloc::str

    Struct SplitInclusive

    1.51.0 \u00b7 source
    pub struct SplitInclusive<'a, P>(/* private fields */)\n where\n     P: Pattern;
    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,

    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,

    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);
    \n-

    Trait Implementations\u00a7

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitInclusive<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitInclusive<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitInclusive<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitInclusive<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitInclusive<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: 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
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitInclusive<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitInclusive<'a, P>
    where\n- P: Pattern,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitInclusive<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.51.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitInclusive<'a, P>
    where\n+ P: Pattern,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitInclusive<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.SplitN.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.SplitN.html", "unified_diff": "@@ -1,215 +1,215 @@\n-SplitN in alloc::str - Rust
    alloc::str

    Struct SplitN

    1.36.0 \u00b7 source
    pub struct SplitN<'a, P>(/* private fields */)\n+SplitN in alloc::str - Rust
    alloc::str

    Struct SplitN

    1.36.0 \u00b7 source
    pub struct SplitN<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method splitn.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitN<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method splitn.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitN<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitN<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitN<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> SplitN<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> SplitN<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitN<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitN<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitN<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitN<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitN<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.SplitTerminator.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.SplitTerminator.html", "unified_diff": "@@ -1,226 +1,226 @@\n-SplitTerminator in alloc::str - Rust
    alloc::str

    Struct SplitTerminator

    1.36.0 \u00b7 source
    pub struct SplitTerminator<'a, P>(/* private fields */)\n+SplitTerminator in alloc::str - Rust
    alloc::str

    Struct SplitTerminator

    1.36.0 \u00b7 source
    pub struct SplitTerminator<'a, P>(/* private fields */)\n where\n-    P: Pattern;
    Expand description

    Created with the method split_terminator.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitTerminator<'a, P>
    where\n- P: Pattern,

    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;
    Expand description

    Created with the method split_terminator.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitTerminator<'a, P>
    where\n+ P: Pattern,

    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);
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitTerminator<'a, P>
    where\n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Clone for SplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> SplitTerminator<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Clone,

    source\u00a7

    fn clone(&self) -> SplitTerminator<'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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitTerminator<'a, P>
    where\n P: Pattern,\n- <P as Pattern>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitTerminator<'a, P>
    where\n- P: Pattern,

    source\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>::Searcher<'a>: 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
    1.0.0 \u00b7 source\u00a7

    impl<'a, P> Iterator for SplitTerminator<'a, P>
    where\n+ P: Pattern,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitTerminator<'a, P>
    where\n- <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Send,

    \u00a7

    impl<'a, P> Sync for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitTerminator<'a, P>
    where\n+ <P as Pattern>::Searcher<'a>: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.SplitWhitespace.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.SplitWhitespace.html", "unified_diff": "@@ -1,220 +1,220 @@\n-SplitWhitespace in alloc::str - Rust
    alloc::str

    Struct SplitWhitespace

    1.36.0 \u00b7 source
    pub struct SplitWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-whitespace substrings of a string,\n+SplitWhitespace in alloc::str - Rust

    alloc::str

    Struct SplitWhitespace

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    1.1.0 \u00b7 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
    1.1.0 \u00b7 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
    1.1.0 \u00b7 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
    1.1.0 \u00b7 source\u00a7

    impl<'a> Iterator for SplitWhitespace<'a>

    source\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

    1.1.0 \u00b7 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
    1.1.0 \u00b7 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
    1.1.0 \u00b7 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
    1.1.0 \u00b7 source\u00a7

    impl<'a> Iterator for SplitWhitespace<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Utf8Chunk.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunk.html", "unified_diff": "@@ -1,39 +1,39 @@\n-Utf8Chunk in alloc::str - Rust
    alloc::str

    Struct Utf8Chunk

    1.79.0 \u00b7 source
    pub struct Utf8Chunk<'a> { /* private fields */ }
    Expand description

    An item returned by the Utf8Chunks iterator.

    \n-

    A Utf8Chunk stores a sequence of u8 up to the first broken character\n+Utf8Chunk in alloc::str - Rust

    alloc::str

    Struct Utf8Chunk

    1.79.0 \u00b7 source
    pub struct Utf8Chunk<'a> { /* private fields */ }
    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
    // An invalid UTF-8 string\n let bytes = b\"foo\\xF1\\x80bar\";\n \n // Decode the first `Utf8Chunk`\n let chunk = bytes.utf8_chunks().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());
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunk<'a>

    1.79.0 \u00b7 source

    pub fn valid(&self) -> &'a str

    Returns the next validated UTF-8 substring.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunk<'a>

    1.79.0 \u00b7 source

    pub fn valid(&self) -> &'a str

    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-
    1.79.0 \u00b7 source

    pub fn invalid(&self) -> &'a [u8]

    Returns the invalid sequence that caused a failure.

    \n+
    1.79.0 \u00b7 source

    pub fn invalid(&self) -> &'a [u8]

    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

    1.79.0 \u00b7 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
    1.79.0 \u00b7 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
    1.79.0 \u00b7 source\u00a7

    impl<'a> PartialEq for Utf8Chunk<'a>

    source\u00a7

    fn eq(&self, other: &Utf8Chunk<'a>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.79.0 \u00b7 source\u00a7

    impl<'a> Eq for Utf8Chunk<'a>

    1.79.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    1.79.0 \u00b7 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
    1.79.0 \u00b7 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
    1.79.0 \u00b7 source\u00a7

    impl<'a> PartialEq for Utf8Chunk<'a>

    source\u00a7

    fn eq(&self, other: &Utf8Chunk<'a>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.79.0 \u00b7 source\u00a7

    impl<'a> Eq for Utf8Chunk<'a>

    1.79.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Utf8Chunks.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunks.html", "unified_diff": "@@ -1,9 +1,9 @@\n-Utf8Chunks in alloc::str - Rust
    alloc::str

    Struct Utf8Chunks

    1.79.0 \u00b7 source
    pub struct Utf8Chunks<'a> { /* private fields */ }
    Expand description

    An iterator used to decode a slice of mostly UTF-8 bytes to string slices\n-(&str) and byte slices (&[u8]).

    \n+Utf8Chunks in alloc::str - Rust
    alloc::str

    Struct Utf8Chunks

    1.79.0 \u00b7 source
    pub struct Utf8Chunks<'a> { /* private fields */ }
    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

    See the Utf8Chunk type for documenation of the items yielded by this iterator.

    \n

    \u00a7Examples

    \n

    This can be used to create functionality similar to\n String::from_utf8_lossy without allocating heap memory:

    \n \n@@ -12,197 +12,197 @@\n push(chunk.valid());\n \n if !chunk.invalid().is_empty() {\n push(\"\\u{FFFD}\");\n }\n }\n }
    \n-

    Trait Implementations\u00a7

    1.79.0 \u00b7 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
    1.79.0 \u00b7 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
    1.79.0 \u00b7 source\u00a7

    impl<'a> Iterator for Utf8Chunks<'a>

    source\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+

    Trait Implementations\u00a7

    1.79.0 \u00b7 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
    1.79.0 \u00b7 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
    1.79.0 \u00b7 source\u00a7

    impl<'a> Iterator for Utf8Chunks<'a>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.79.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.79.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/struct.Utf8Error.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Error.html", "unified_diff": "@@ -1,8 +1,8 @@\n-Utf8Error in alloc::str - Rust
    alloc::str

    Struct Utf8Error

    1.36.0 \u00b7 source
    pub struct Utf8Error { /* private fields */ }
    Expand description

    Errors which can occur when attempting to interpret a sequence of u8\n+Utf8Error in alloc::str - Rust

    alloc::str

    Struct Utf8Error

    1.36.0 \u00b7 source
    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@@ -25,15 +25,15 @@\n } else {\n break\n }\n }\n }\n }\n }
    \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@@ -42,15 +42,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());
    \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@@ -59,22 +59,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

    1.0.0 \u00b7 source\u00a7

    impl Clone for Utf8Error

    source\u00a7

    fn clone(&self) -> Utf8Error

    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 Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for Utf8Error

    source\u00a7

    fn eq(&self, other: &Utf8Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Copy for Utf8Error

    1.0.0 \u00b7 source\u00a7

    impl Eq for Utf8Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 source\u00a7

    impl Clone for Utf8Error

    source\u00a7

    fn clone(&self) -> Utf8Error

    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 Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for Utf8Error

    source\u00a7

    fn eq(&self, other: &Utf8Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Copy for Utf8Error

    1.0.0 \u00b7 source\u00a7

    impl Eq for Utf8Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/str/trait.FromStr.html", "source2": "./usr/share/doc/rust-doc/html/alloc/str/trait.FromStr.html", "unified_diff": "@@ -1,15 +1,15 @@\n-FromStr in alloc::str - Rust
    alloc::str

    Trait FromStr

    1.36.0 \u00b7 source
    pub trait FromStr: Sized {\n+FromStr in alloc::str - Rust
    alloc::str

    Trait FromStr

    1.36.0 \u00b7 source
    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@@ -45,22 +45,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());
    \n-

    Required Associated Types\u00a7

    1.0.0 \u00b7 source

    type Err

    The associated error which can be returned from parsing.

    \n-

    Required Methods\u00a7

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source

    type Err

    The associated error which can be returned from parsing.

    \n+

    Required Methods\u00a7

    1.0.0 \u00b7 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);
    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    1.7.0 \u00b7 source\u00a7

    impl FromStr for IpAddr

    1.0.0 \u00b7 source\u00a7

    impl FromStr for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl FromStr for bool

    1.20.0 \u00b7 source\u00a7

    impl FromStr for char

    1.0.0 \u00b7 source\u00a7

    impl FromStr for f32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for f64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i8

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i16

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i128

    1.0.0 \u00b7 source\u00a7

    impl FromStr for isize

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u8

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u16

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u128

    1.0.0 \u00b7 source\u00a7

    impl FromStr for usize

    1.0.0 \u00b7 source\u00a7

    impl FromStr for Ipv4Addr

    1.0.0 \u00b7 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>

    1.0.0 \u00b7 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

    1.0.0 \u00b7 source\u00a7

    impl FromStr for SocketAddr

    1.0.0 \u00b7 source\u00a7

    impl FromStr for bool

    1.20.0 \u00b7 source\u00a7

    impl FromStr for char

    1.0.0 \u00b7 source\u00a7

    impl FromStr for f32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for f64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i8

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i16

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for i128

    1.0.0 \u00b7 source\u00a7

    impl FromStr for isize

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u8

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u16

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u32

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u64

    1.0.0 \u00b7 source\u00a7

    impl FromStr for u128

    1.0.0 \u00b7 source\u00a7

    impl FromStr for usize

    1.0.0 \u00b7 source\u00a7

    impl FromStr for String

    1.0.0 \u00b7 source\u00a7

    impl FromStr for Ipv4Addr

    1.0.0 \u00b7 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": "@@ -157,14 +157,18 @@\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bI\bI_\bn\bn_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bu\bu_\bs\bs_\bi\bi_\bz\bz_\be\be *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bI\bI_\bn\bn_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n+_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n+*\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bI\bI_\bn\bn_\bf\bf_\ba\ba_\bl\bl_\bl\bl_\bi\bi_\bb\bb_\bl\bl_\be\be *\b**\b**\b*\n+1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bI\bI_\bp\bp_\bv\bv_\b4\b4_\bA\bA_\bd\bd_\bd\bd_\br\br *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bA\bA_\bd\bd_\bd\bd_\br\br_\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n 1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bI\bI_\bp\bp_\bv\bv_\b6\b6_\bA\bA_\bd\bd_\bd\bd_\br\br *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bA\bA_\bd\bd_\bd\bd_\br\br_\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n@@ -220,11 +224,7 @@\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bN\bN_\bo\bo_\bn\bn_\bZ\bZ_\be\be_\br\br_\bo\bo<\b<_\bu\bu_\b1\b1_\b2\b2_\b8\b8>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bI\bI_\bn\bn_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n 1.35.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bN\bN_\bo\bo_\bn\bn_\bZ\bZ_\be\be_\br\br_\bo\bo<\b<_\bu\bu_\bs\bs_\bi\bi_\bz\bz_\be\be>\b> *\b**\b**\b**\b*\n _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n *\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bP\bP_\ba\ba_\br\br_\bs\bs_\be\be_\bI\bI_\bn\bn_\bt\bt_\bE\bE_\br\br_\br\br_\bo\bo_\br\br *\b**\b**\b*\n-1.0.0 \u00b7 _\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b**\b* i\bim\bmp\bpl\bl _\bF\bF_\br\br_\bo\bo_\bm\bm_\bS\bS_\bt\bt_\br\br f\bfo\bor\br _\bS\bS_\bt\bt_\br\br_\bi\bi_\bn\bn_\bg\bg *\b**\b**\b**\b*\n-_\bs_\bo_\bu_\br_\bc_\be_\b\u00a7\n-*\b**\b**\b* t\bty\byp\bpe\be _\bE\bE_\br\br_\br\br =\b= _\bI\bI_\bn\bn_\bf\bf_\ba\ba_\bl\bl_\bl\bl_\bi\bi_\bb\bb_\bl\bl_\be\be *\b**\b**\b*\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/alloc/string/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/index.html", "unified_diff": "@@ -24,8 +24,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]);
    \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-doc/html/alloc/string/struct.Drain.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/struct.Drain.html", "unified_diff": "@@ -1,211 +1,211 @@\n Drain in alloc::string - Rust
    alloc::string

    Struct Drain

    1.36.0 \u00b7 source
    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\");
    \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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl Drop for Drain<'_>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.6.0 \u00b7 source\u00a7

    impl Iterator for Drain<'_>

    source\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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl Drop for Drain<'_>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.6.0 \u00b7 source\u00a7

    impl Iterator for Drain<'_>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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<'_>

    1.6.0 \u00b7 source\u00a7

    impl Send for Drain<'_>

    1.6.0 \u00b7 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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<'_>

    1.6.0 \u00b7 source\u00a7

    impl Send for Drain<'_>

    1.6.0 \u00b7 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/string/struct.FromUtf16Error.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf16Error.html", "unified_diff": "@@ -2,19 +2,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());
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf16Error

    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 FromUtf16Error

    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 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)>

    Returns 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

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 source\u00a7

    impl Debug for FromUtf16Error

    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 FromUtf16Error

    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 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)>

    Returns 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

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/string/struct.FromUtf8Error.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf8Error.html", "unified_diff": "@@ -1,25 +1,25 @@\n FromUtf8Error in alloc::string - Rust
    alloc::string

    Struct FromUtf8Error

    1.36.0 \u00b7 source
    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());
    \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());
    \n@@ -31,46 +31,46 @@\n
    \u00a7Examples
    \n
    #![feature(string_from_utf8_lossy_owned)]\n // some invalid bytes\n let input: Vec<u8> = b\"Hello \\xF0\\x90\\x80World\".into();\n let output = String::from_utf8(input).unwrap_or_else(|e| e.into_utf8_lossy());\n \n assert_eq!(String::from(\"Hello \ufffdWorld\"), output);
    \n-
    1.0.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Returns the bytes that were attempted to convert to a String.

    \n+
    1.0.0 \u00b7 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());
    \n
    1.0.0 \u00b7 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());
    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Clone for FromUtf8Error

    source\u00a7

    fn clone(&self) -> FromUtf8Error

    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 FromUtf8Error

    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 FromUtf8Error

    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 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for FromUtf8Error

    source\u00a7

    fn eq(&self, other: &FromUtf8Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Eq for FromUtf8Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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.0.0 \u00b7 source\u00a7

    impl Clone for FromUtf8Error

    source\u00a7

    fn clone(&self) -> FromUtf8Error

    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 FromUtf8Error

    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 FromUtf8Error

    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 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)>

    Returns 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
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for FromUtf8Error

    source\u00a7

    fn eq(&self, other: &FromUtf8Error) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl Eq for FromUtf8Error

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/string/struct.String.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/struct.String.html", "unified_diff": "@@ -1,17 +1,17 @@\n String in alloc::string - Rust
    alloc::string

    Struct String

    1.36.0 \u00b7 source
    pub struct String { /* private fields */ }
    Expand description

    A UTF-8\u2013encoded, growable string.

    \n

    String is the most common string type. It has ownership over the contents\n of the string, stored in a heap-allocated buffer (see Representation).\n-It is closely related to its borrowed counterpart, the primitive str.

    \n+It is closely related to its borrowed 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!\");
    \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!\");
    \n

    If you have a vector of UTF-8 bytes, you can create a String from it with\n the from_utf8 method:

    \n@@ -49,28 +49,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);
    \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'));
    \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@@ -84,37 +84,37 @@\n \n // The following will not compile!\n println!(\"The first letter of s is {}\", s[0]);
    \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);
    \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@@ -125,25 +125,25 @@\n example_func(&example_string);
    \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 the internal buffer which 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@@ -205,15 +205,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();
    \n-
    1.0.0 \u00b7 source

    pub fn with_capacity(capacity: usize) -> String

    Creates a new empty String with at least the specified capacity.

    \n+
    1.0.0 \u00b7 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@@ -230,35 +230,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');

    \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-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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@@ -270,21 +270,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());
    \n

    See the docs for FromUtf8Error for more details on what you can do\n with this error.

    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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@@ -302,15 +302,15 @@\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);
    \n-
    source

    pub fn from_utf8_lossy_owned(v: Vec<u8>) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (string_from_utf8_lossy_owned #129436)

    Converts a Vec<u8> to a String, substituting invalid UTF-8\n+

    source

    pub fn from_utf8_lossy_owned(v: Vec<u8>) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (string_from_utf8_lossy_owned #129436)

    Converts a Vec<u8> to a String, substituting invalid UTF-8\n sequences with replacement characters.

    \n

    See from_utf8_lossy for more details.

    \n

    Note that this function does not guarantee reuse of the original Vec\n allocation.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n@@ -325,41 +325,41 @@\n \n
    #![feature(string_from_utf8_lossy_owned)]\n // some invalid bytes\n let input: Vec<u8> = b\"Hello \\xF0\\x90\\x80World\".into();\n let output = String::from_utf8_lossy_owned(input);\n \n assert_eq!(String::from(\"Hello \ufffdWorld\"), output);
    \n-
    1.0.0 \u00b7 source

    pub fn from_utf16(v: &[u16]) -> Result<String, FromUtf16Error>

    Decode a UTF-16\u2013encoded vector v into a String, returning Err\n+

    1.0.0 \u00b7 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());
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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));
    \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@@ -367,31 +367,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());
    \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));
    \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@@ -399,31 +399,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());
    \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));
    \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@@ -434,17 +434,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\");

    \n
    1.0.0 \u00b7 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@@ -475,15 +475,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 }
    \n-
    1.0.0 \u00b7 source

    pub unsafe fn from_utf8_unchecked(bytes: Vec<u8>) -> String

    Converts a vector of bytes to a String without checking that the\n+

    1.0.0 \u00b7 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@@ -492,70 +492,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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Converts a String into a byte vector.

    \n+
    1.0.0 (const: unstable) \u00b7 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[..]);
    \n-
    1.7.0 (const: unstable) \u00b7 source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    \n+
    1.7.0 (const: unstable) \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());
    \n-
    1.7.0 (const: unstable) \u00b7 source

    pub fn as_mut_str(&mut self) -> &mut str

    Converts a String into a mutable string slice.

    \n+
    1.7.0 (const: unstable) \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);
    \n-
    1.0.0 \u00b7 source

    pub fn push_str(&mut self, string: &str)

    Appends a given string slice onto the end of this String.

    \n+
    1.0.0 \u00b7 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);
    \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\");
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn capacity(&self) -> usize

    Returns this String\u2019s capacity, in bytes.

    \n+
    1.0.0 (const: unstable) \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional bytes more than the\n+

    1.0.0 \u00b7 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@@ -572,22 +572,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());
    \n-
    1.0.0 \u00b7 source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional bytes more than\n+

    1.0.0 \u00b7 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@@ -604,15 +604,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());
    \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@@ -629,16 +629,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 }

    \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@@ -665,72 +665,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());
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn push(&mut self, ch: char)

    Appends the given char to the end of this String.

    \n+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String\u2019s contents.

    \n+
    1.0.0 (const: unstable) \u00b7 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());
    \n-
    1.0.0 \u00b7 source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n+
    1.0.0 \u00b7 source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n

    If new_len is greater than or equal to 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);
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn remove(&mut self, idx: usize) -> char

    Removes a char from this String at a byte position and returns it.

    \n+
    1.0.0 \u00b7 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');
    \n
    source

    pub fn remove_matches<P: Pattern>(&mut self, pat: P)

    \ud83d\udd2cThis is a nightly-only experimental API. (string_remove_matches #72826)

    Remove all matches of pattern pat in the String.

    \n@@ -743,15 +743,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);
    \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@@ -761,41 +761,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\");
    \n-
    1.0.0 \u00b7 source

    pub fn insert(&mut self, idx: usize, ch: char)

    Inserts a character into this String at a byte position.

    \n+
    1.0.0 \u00b7 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);
    \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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8>

    Returns a mutable reference to the contents of this String.

    \n+
    1.0.0 (const: unstable) \u00b7 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@@ -804,32 +804,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\");
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or\n+

    1.0.0 (const: unstable) \u00b7 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);
    \n-
    1.0.0 (const: unstable) \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    \n+
    1.0.0 (const: unstable) \u00b7 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());
    \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@@ -846,88 +846,88 @@\n \n s.clear();\n \n assert!(s.is_empty());\n assert_eq!(0, s.len());\n assert_eq!(3, s.capacity());
    \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, \"\");
    \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\");
    \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

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.\n Note that this call may reallocate and copy the bytes of the string.

    \n
    \u00a7Examples
    \n
    let s = String::from(\"hello\");\n \n let b = s.into_boxed_str();
    \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, so the leaked allocation may include unused\n capacity that is not part of the returned slice. If you want to discard excess capacity,\n call into_boxed_str, and then Box::leak instead. However, keep in mind that\n trimming the capacity may result in a reallocation and copy.

    \n
    \u00a7Examples
    \n
    let x = String::from(\"bucket\");\n let static_ref: &'static mut str = x.leak();\n assert_eq!(static_ref, \"bucket\");
    \n-

    Methods from Deref<Target = str>\u00a7

    1.0.0 \u00b7 source

    pub fn replace<P: Pattern>(&self, from: P, to: &str) -> String

    Replaces all matches of a pattern with another string.

    \n+

    Methods from Deref<Target = str>\u00a7

    1.0.0 \u00b7 source

    pub fn replace<P: Pattern>(&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 \n assert_eq!(\"this is new\", s.replace(\"old\", \"new\"));\n assert_eq!(\"than an old\", s.replace(\"is\", \"an\"));
    \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\"));
    \n-
    1.16.0 \u00b7 source

    pub fn replacen<P: Pattern>(&self, pat: P, to: &str, count: usize) -> String

    Replaces first N matches of a pattern with another string.

    \n+
    1.16.0 \u00b7 source

    pub fn replacen<P: Pattern>(&self, pat: P, to: &str, count: usize) -> 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
    let s = \"foo foo 123 foo\";\n@@ -983,64 +983,64 @@\n \n assert_eq!(new_year, new_year.to_uppercase());
    \n

    One character can become multiple:

    \n \n
    let s = \"tsch\u00fc\u00df\";\n \n assert_eq!(\"TSCH\u00dcSS\", s.to_uppercase());
    \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\"));
    \n

    A panic upon overflow:

    \n \n
    \u24d8
    // this will panic at runtime\n let huge = \"0123456789abcdef\".repeat(usize::MAX);
    \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());
    \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());
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    \n+
    1.0.0 \u00b7 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());
    \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@@ -1049,48 +1049,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));
    \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\");
    \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\");
    \n-
    1.0.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back\n+

    1.0.0 \u00b7 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);
    \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@@ -1108,51 +1108,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);
    \n-
    1.0.0 \u00b7 source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    \n+
    1.0.0 \u00b7 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();
    \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());
    \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@@ -1163,16 +1163,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);
    \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@@ -1183,19 +1183,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 }
      \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@@ -1206,22 +1206,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 }
      \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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@@ -1234,113 +1234,113 @@\n }\n \n let s = \"Hello, world!\";\n \n unsafe {\n assert_eq!(\"world\", s.slice_unchecked(7, 12));\n }
    \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)

    Divides one string slice into two at an index.

    \n+
    1.4.0 \u00b7 source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divides 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);
    \n-
    1.4.0 \u00b7 source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divides 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)

    Divides 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);
    \n-
    1.80.0 \u00b7 source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&str, &str)>

    Divides one string slice into two at an index.

    \n+
    1.80.0 \u00b7 source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&str, &str)>

    Divides 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
    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
    \n-
    1.80.0 \u00b7 source

    pub fn split_at_mut_checked(\n+

    1.80.0 \u00b7 source

    pub fn split_at_mut_checked(\n &mut self,\n- mid: usize,\n-) -> Option<(&mut str, &mut str)>

    Divides one mutable string slice into two at an index.

    \n+ mid: usize,\n+) -> Option<(&mut str, &mut str)>

    Divides 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
    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
    \n-
    1.0.0 \u00b7 source

    pub fn chars(&self) -> Chars<'_> \u24d8

    Returns an iterator over the chars of a string slice.

    \n+
    1.0.0 \u00b7 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@@ -1355,30 +1355,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());
    \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());
    \n-
    1.0.0 \u00b7 source

    pub fn char_indices(&self) -> CharIndices<'_> \u24d8

    Returns an iterator over the chars of a string slice, and their\n+

    1.0.0 \u00b7 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@@ -1391,46 +1391,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());
    \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());
    \n-
    1.0.0 \u00b7 source

    pub fn bytes(&self) -> Bytes<'_> \u24d8

    Returns an iterator over the bytes of a string slice.

    \n+
    1.0.0 \u00b7 source

    pub fn bytes(&self) -> Bytes<'_> \u24d8

    Returns 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());
    \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@@ -1447,18 +1447,18 @@\n assert_eq!(Some(\"lamb\"), iter.next());\n \n assert_eq!(None, iter.next());
    \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);
    \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@@ -1475,15 +1475,15 @@\n assert_eq!(Some(\"lamb\"), iter.next());\n \n assert_eq!(None, iter.next());
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn lines(&self) -> Lines<'_> \u24d8

    Returns an iterator over the lines of a string, as string slices.

    \n+
    1.0.0 \u00b7 source

    pub fn lines(&self) -> Lines<'_> \u24d8

    Returns 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@@ -1509,72 +1509,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());

    \n-
    1.0.0 \u00b7 source

    pub fn lines_any(&self) -> LinesAny<'_> \u24d8

    \ud83d\udc4eDeprecated since 1.4.0: use lines() instead now

    Returns 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+
    1.0.0 \u00b7 source

    pub fn lines_any(&self) -> LinesAny<'_> \u24d8

    \ud83d\udc4eDeprecated since 1.4.0: use lines() instead now

    Returns 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);
    \n-
    1.0.0 \u00b7 source

    pub fn contains<P>(&self, pat: P) -> bool
    where\n+

    1.0.0 \u00b7 source

    pub fn contains<P>(&self, pat: P) -> bool
    where\n P: Pattern,

    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\"));
    \n-
    1.0.0 \u00b7 source

    pub fn starts_with<P>(&self, pat: P) -> bool
    where\n+

    1.0.0 \u00b7 source

    pub fn starts_with<P>(&self, pat: P) -> bool
    where\n P: Pattern,

    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\"));
    \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']));
    \n-
    1.0.0 \u00b7 source

    pub fn ends_with<P>(&self, pat: P) -> bool
    where\n+

    1.0.0 \u00b7 source

    pub fn ends_with<P>(&self, pat: P) -> bool
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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\"));
    \n-
    1.0.0 \u00b7 source

    pub fn find<P>(&self, pat: P) -> Option<usize>
    where\n+

    1.0.0 \u00b7 source

    pub fn find<P>(&self, pat: P) -> Option<usize>
    where\n P: Pattern,

    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@@ -1590,20 +1590,20 @@\n assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn rfind<P>(&self, pat: P) -> Option<usize>
    where\n+

    1.0.0 \u00b7 source

    pub fn rfind<P>(&self, pat: P) -> Option<usize>
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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@@ -1617,25 +1617,25 @@\n assert_eq!(s.rfind(char::is_lowercase), Some(20));
    \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);
    \n-
    1.0.0 \u00b7 source

    pub fn split<P>(&self, pat: P) -> Split<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn split<P>(&self, pat: P) -> Split<'_, P> \u24d8
    where\n P: Pattern,

    Returns 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@@ -1690,44 +1690,44 @@\n 
    let x = \"    a  b c\".to_string();\n let d: Vec<_> = x.split(' ').collect();\n \n assert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);
    \n

    It does not give you:

    \n \n
    \u24d8
    assert_eq!(d, &[\"a\", \"b\", \"c\"]);
    \n-

    Use split_whitespace for this behavior.

    \n-
    1.51.0 \u00b7 source

    pub fn split_inclusive<P>(&self, pat: P) -> SplitInclusive<'_, P> \u24d8
    where\n+

    Use split_whitespace for this behavior.

    \n+

    1.51.0 \u00b7 source

    pub fn split_inclusive<P>(&self, pat: P) -> SplitInclusive<'_, P> \u24d8
    where\n P: Pattern,

    Returns an iterator over substrings of this string slice, separated by\n characters matched by a pattern.

    \n

    Differs from the iterator produced by split in that split_inclusive\n leaves the matched part as the 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.\"]);
    \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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn rsplit<P>(&self, pat: P) -> RSplit<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn rsplit<P>(&self, pat: P) -> RSplit<'_, P> \u24d8
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> ReverseSearcher<'a>,

    Returns an iterator over substrings of the given string slice, separated\n by 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@@ -1738,74 +1738,74 @@\n \n let v: Vec<&str> = \"lion::tiger::leopard\".rsplit(\"::\").collect();\n assert_eq!(v, [\"leopard\", \"tiger\", \"lion\"]);
    \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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn split_terminator<P>(&self, pat: P) -> SplitTerminator<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn split_terminator<P>(&self, pat: P) -> SplitTerminator<'_, P> \u24d8
    where\n P: Pattern,

    Returns an iterator over substrings of the given string slice, separated\n by 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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn rsplit_terminator<P>(&self, pat: P) -> RSplitTerminator<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn rsplit_terminator<P>(&self, pat: P) -> RSplitTerminator<'_, P> \u24d8
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> ReverseSearcher<'a>,

    Returns 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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn splitn<P>(&self, n: usize, pat: P) -> SplitN<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn splitn<P>(&self, n: usize, pat: P) -> SplitN<'_, P> \u24d8
    where\n P: Pattern,

    Returns an iterator over substrings of the given string slice, separated\n by a 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@@ -1817,27 +1817,27 @@\n \n let v: Vec<&str> = \"\".splitn(1, 'X').collect();\n assert_eq!(v, [\"\"]);
    \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\"]);
    \n-
    1.0.0 \u00b7 source

    pub fn rsplitn<P>(&self, n: usize, pat: P) -> RSplitN<'_, P> \u24d8
    where\n+

    1.0.0 \u00b7 source

    pub fn rsplitn<P>(&self, n: usize, pat: P) -> RSplitN<'_, P> \u24d8
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> ReverseSearcher<'a>,

    Returns an iterator over substrings of this string slice, separated by a\n pattern, starting from the end of the string, restricted to returning at\n 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@@ -1845,116 +1845,116 @@\n \n let v: Vec<&str> = \"lion::tiger::leopard\".rsplitn(2, \"::\").collect();\n assert_eq!(v, [\"leopard\", \"lion::tiger\"]);
    \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\"]);
    \n-
    1.52.0 \u00b7 source

    pub fn split_once<P>(&self, delimiter: P) -> Option<(&str, &str)>
    where\n+

    1.52.0 \u00b7 source

    pub fn split_once<P>(&self, delimiter: P) -> Option<(&str, &str)>
    where\n P: Pattern,

    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\")));
    \n-
    1.52.0 \u00b7 source

    pub fn rsplit_once<P>(&self, delimiter: P) -> Option<(&str, &str)>
    where\n+

    1.52.0 \u00b7 source

    pub fn rsplit_once<P>(&self, delimiter: P) -> Option<(&str, &str)>
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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\")));
    \n-
    1.2.0 \u00b7 source

    pub fn matches<P>(&self, pat: P) -> Matches<'_, P> \u24d8
    where\n+

    1.2.0 \u00b7 source

    pub fn matches<P>(&self, pat: P) -> Matches<'_, P> \u24d8
    where\n P: Pattern,

    Returns an iterator over the disjoint matches of a pattern within the\n given string 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\"]);
    \n-
    1.2.0 \u00b7 source

    pub fn rmatches<P>(&self, pat: P) -> RMatches<'_, P> \u24d8
    where\n+

    1.2.0 \u00b7 source

    pub fn rmatches<P>(&self, pat: P) -> RMatches<'_, P> \u24d8
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> ReverseSearcher<'a>,

    Returns an iterator over the disjoint matches of a pattern within this\n string slice, 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\"]);
    \n-
    1.5.0 \u00b7 source

    pub fn match_indices<P>(&self, pat: P) -> MatchIndices<'_, P> \u24d8
    where\n+

    1.5.0 \u00b7 source

    pub fn match_indices<P>(&self, pat: P) -> MatchIndices<'_, P> \u24d8
    where\n P: Pattern,

    Returns 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`
    \n-
    1.5.0 \u00b7 source

    pub fn rmatch_indices<P>(&self, pat: P) -> RMatchIndices<'_, P> \u24d8
    where\n+

    1.5.0 \u00b7 source

    pub fn rmatch_indices<P>(&self, pat: P) -> RMatchIndices<'_, P> \u24d8
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> ReverseSearcher<'a>,

    Returns 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`
    \n-
    1.0.0 \u00b7 source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    \n+
    1.0.0 \u00b7 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());
    \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@@ -1966,15 +1966,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());
    \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@@ -1986,15 +1986,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());
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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@@ -2007,15 +2007,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());
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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@@ -2028,75 +2028,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());
    \n-
    1.0.0 \u00b7 source

    pub fn trim_matches<P>(&self, pat: P) -> &str
    where\n+

    1.0.0 \u00b7 source

    pub fn trim_matches<P>(&self, pat: P) -> &str
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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\");
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1foo1barXX\".trim_matches(|c| c == '1' || c == 'X'), \"foo1bar\");
    \n-
    1.30.0 \u00b7 source

    pub fn trim_start_matches<P>(&self, pat: P) -> &str
    where\n+

    1.30.0 \u00b7 source

    pub fn trim_start_matches<P>(&self, pat: P) -> &str
    where\n P: Pattern,

    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\");
    \n-
    1.45.0 \u00b7 source

    pub fn strip_prefix<P>(&self, prefix: P) -> Option<&str>
    where\n+

    1.45.0 \u00b7 source

    pub fn strip_prefix<P>(&self, prefix: P) -> Option<&str>
    where\n P: Pattern,

    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\"));
    \n-
    1.45.0 \u00b7 source

    pub fn strip_suffix<P>(&self, suffix: P) -> Option<&str>
    where\n+

    1.45.0 \u00b7 source

    pub fn strip_suffix<P>(&self, suffix: P) -> Option<&str>
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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\"));
    \n-
    1.30.0 \u00b7 source

    pub fn trim_end_matches<P>(&self, pat: P) -> &str
    where\n+

    1.30.0 \u00b7 source

    pub fn trim_end_matches<P>(&self, pat: P) -> &str
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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@@ -2106,35 +2106,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\");
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1fooX\".trim_end_matches(|c| c == '1' || c == 'X'), \"1foo\");
    \n-
    1.0.0 \u00b7 source

    pub fn trim_left_matches<P>(&self, pat: P) -> &str
    where\n+

    1.0.0 \u00b7 source

    pub fn trim_left_matches<P>(&self, pat: P) -> &str
    where\n P: Pattern,

    \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\");
    \n-
    1.0.0 \u00b7 source

    pub fn trim_right_matches<P>(&self, pat: P) -> &str
    where\n+

    1.0.0 \u00b7 source

    pub fn trim_right_matches<P>(&self, pat: P) -> &str
    where\n P: Pattern,\n <P as Pattern>::Searcher<'a>: for<'a> 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@@ -2144,15 +2144,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\");
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1fooX\".trim_right_matches(|c| c == '1' || c == 'X'), \"1foo\");
    \n-
    1.0.0 \u00b7 source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where\n+

    1.0.0 \u00b7 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@@ -2171,75 +2171,75 @@\n \n assert_eq!(Ok(4), four);
    \n

    Failing to parse:

    \n \n
    let nope = \"j\".parse::<u32>();\n \n assert!(nope.is_err());
    \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());
    \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\"));
    \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);
    \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);
    \n-
    1.80.0 \u00b7 source

    pub fn trim_ascii_start(&self) -> &str

    Returns a string slice with leading ASCII whitespace removed.

    \n+
    1.80.0 \u00b7 source

    pub fn trim_ascii_start(&self) -> &str

    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
    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(), \"\");
    \n-
    1.80.0 \u00b7 source

    pub fn trim_ascii_end(&self) -> &str

    Returns a string slice with trailing ASCII whitespace removed.

    \n+
    1.80.0 \u00b7 source

    pub fn trim_ascii_end(&self) -> &str

    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
    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(), \"\");
    \n-
    1.80.0 \u00b7 source

    pub fn trim_ascii(&self) -> &str

    Returns a string slice with leading and trailing ASCII whitespace\n+

    1.80.0 \u00b7 source

    pub fn trim_ascii(&self) -> &str

    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
    assert_eq!(\"\\r hello world\\n \".trim_ascii(), \"hello world\");\n assert_eq!(\"  \".trim_ascii(), \"\");\n assert_eq!(\"\".trim_ascii(), \"\");
    \n-
    1.34.0 \u00b7 source

    pub fn escape_debug(&self) -> EscapeDebug<'_> \u24d8

    Returns 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

    Returns 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@@ -2250,15 +2250,15 @@\n 
    println!(\"{}\", \"\u2764\\n!\".escape_debug());
    \n

    Both are equivalent to:

    \n \n
    println!(\"\u2764\\\\n!\");
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_debug().to_string(), \"\u2764\\\\n!\");
    \n-
    1.34.0 \u00b7 source

    pub fn escape_default(&self) -> EscapeDefault<'_> \u24d8

    Returns 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

    Returns 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!();
    \n@@ -2267,15 +2267,15 @@\n
    println!(\"{}\", \"\u2764\\n!\".escape_default());
    \n

    Both are equivalent to:

    \n \n
    println!(\"\\\\u{{2764}}\\\\n!\");
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_default().to_string(), \"\\\\u{2764}\\\\n!\");
    \n-
    1.34.0 \u00b7 source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_> \u24d8

    Returns 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

    Returns 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!();
    \n@@ -2284,39 +2284,39 @@\n
    println!(\"{}\", \"\u2764\\n!\".escape_unicode());
    \n

    Both are equivalent to:

    \n \n
    println!(\"\\\\u{{2764}}\\\\u{{a}}\\\\u{{21}}\");
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_unicode().to_string(), \"\\\\u{2764}\\\\u{a}\\\\u{21}\");
    \n-
    source

    pub fn substr_range(&self, substr: &str) -> Option<Range<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

    Returns the range that a substring points to.

    \n+
    source

    pub fn substr_range(&self, substr: &str) -> Option<Range<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

    Returns the range that a substring points to.

    \n

    Returns None if substr does not point within self.

    \n-

    Unlike str::find, this does not search through the string.\n+

    Unlike str::find, this does not search through the string.\n Instead, it uses pointer arithmetic to find where in the string\n substr is derived from.

    \n-

    This is useful for extending str::split and similar methods.

    \n+

    This is useful for extending str::split and similar methods.

    \n

    Note that this method may return false positives (typically either\n Some(0..0) or Some(self.len()..self.len())) if substr is a\n zero-length str that points at the beginning or end of another,\n independent, str.

    \n
    \u00a7Examples
    \n
    #![feature(substr_range)]\n \n let data = \"a, b, b, a\";\n let mut iter = data.split(\", \").map(|s| data.substr_range(s).unwrap());\n \n assert_eq!(iter.next(), Some(0..1));\n assert_eq!(iter.next(), Some(3..4));\n assert_eq!(iter.next(), Some(6..7));\n assert_eq!(iter.next(), Some(9..10));
    \n-
    source

    pub fn as_str(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (str_as_str #130366)

    Returns the same string as a string slice &str.

    \n+
    source

    pub fn as_str(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (str_as_str #130366)

    Returns the same string as a string slice &str.

    \n

    This method is redundant when used directly on &str, but\n it helps dereferencing other string-like types to string slices,\n for example references to Box<str> or Arc<str>.

    \n-

    Trait Implementations\u00a7

    1.0.0 \u00b7 source\u00a7

    impl Add<&str> for String

    Implements the + operator for concatenating two strings.

    \n+

    Trait Implementations\u00a7

    1.0.0 \u00b7 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@@ -2333,135 +2333,135 @@\n let c = a.clone() + &b;\n // `a` is still valid here.
    \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;
    \n-
    source\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+
    source\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.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl Clone for String

    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Clones the contents of source into self.

    \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.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl Clone for String

    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Clones the contents of source into self.

    \n

    This method is preferred over simply assigning source.clone() to self,\n as it avoids reallocation if possible.

    \n-
    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for String

    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 Default for String

    source\u00a7

    fn default() -> String

    Creates an empty String.

    \n-
    1.0.0 \u00b7 source\u00a7

    impl Deref for String

    source\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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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<A: Allocator> Extend<Box<str, A>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str, A>>>(&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
    1.0.0 \u00b7 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 clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for String

    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 Default for String

    source\u00a7

    fn default() -> String

    Creates an empty String.

    \n+
    1.0.0 \u00b7 source\u00a7

    impl Deref for String

    source\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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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<A: Allocator> Extend<Box<str, A>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str, A>>>(&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
    1.0.0 \u00b7 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\"));
    \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-
    1.0.0 \u00b7 source\u00a7

    impl From<&str> for String

    source\u00a7

    fn from(s: &str) -> String

    Converts a &str into a String.

    \n+
    1.0.0 \u00b7 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)
    \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\");
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocates a reference-counted str and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocates a reference-counted str and copies 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[..]);
    \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))
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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))
    \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)
    \n-
    1.0.0 \u00b7 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+

    1.0.0 \u00b7 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));
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocates a reference-counted string slice and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocates a reference-counted string slice and copies 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[..]);
    \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 }
    \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[..]);
    \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
    1.0.0 \u00b7 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<A: Allocator> FromIterator<Box<str, A>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str, A>>>(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.80.0 \u00b7 source\u00a7

    impl FromIterator<String> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self

    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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl FromStr for String

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<I> Index<I> for String
    where\n- I: SliceIndex<str>,

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<&'a str> for String

    source\u00a7

    fn eq(&self, other: &&'a str) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &&'a str) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for &'a str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<str> for String

    source\u00a7

    fn eq(&self, other: &str) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for String

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    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

    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

    Tests greater than (for self and other) and is used by the >\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n-the >= operator. Read more
    source\u00a7

    impl<'b> Pattern 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
    1.0.0 \u00b7 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<A: Allocator> FromIterator<Box<str, A>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str, A>>>(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.80.0 \u00b7 source\u00a7

    impl FromIterator<String> for Box<str>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = String>>(iter: T) -> Self

    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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl FromStr for String

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<I> Index<I> for String
    where\n+ I: SliceIndex<str>,

    source\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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<&'a str> for String

    source\u00a7

    fn eq(&self, other: &&'a str) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &&'a str) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for &'a str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<String> for str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl<'a, 'b> PartialEq<str> for String

    source\u00a7

    fn eq(&self, other: &str) -> bool

    Tests for self and other values to be equal, and is used by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 source\u00a7

    impl PartialEq for String

    source\u00a7

    fn eq(&self, other: &String) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    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

    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

    Tests greater than (for self and other) and is used by the >\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by\n+the >= operator. Read more
    source\u00a7

    impl<'b> Pattern 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));
    \n-
    source\u00a7

    type Searcher<'a> = <&'b str as Pattern>::Searcher<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &str) -> <&'b str as Pattern>::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: &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: &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: &str) -> Option<&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<'a>(self, haystack: &'a str) -> bool
    where\n- Self::Searcher<'a>: ReverseSearcher<'a>,

    \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<'a>(self, haystack: &'a str) -> Option<&'a str>
    where\n- Self::Searcher<'a>: ReverseSearcher<'a>,

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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 DerefPure for String

    1.0.0 \u00b7 source\u00a7

    impl Eq for String

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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

    type Searcher<'a> = <&'b str as Pattern>::Searcher<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &str) -> <&'b str as Pattern>::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: &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: &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: &str) -> Option<&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<'a>(self, haystack: &'a str) -> bool
    where\n+ Self::Searcher<'a>: ReverseSearcher<'a>,

    \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<'a>(self, haystack: &'a str) -> Option<&'a str>
    where\n+ Self::Searcher<'a>: ReverseSearcher<'a>,

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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 DerefPure for String

    1.0.0 \u00b7 source\u00a7

    impl Eq for String

    1.0.0 \u00b7 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/string/trait.ToString.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/trait.ToString.html", "unified_diff": "@@ -8,13 +8,13 @@\n implementation for free.

    \n

    Required Methods\u00a7

    1.0.0 \u00b7 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());
    \n-

    Implementors\u00a7

    1.0.0 \u00b7 source\u00a7

    impl<T: Display + ?Sized> ToString for T

    \u00a7Panics

    \n+

    Implementors\u00a7

    1.0.0 \u00b7 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-doc/html/alloc/string/type.ParseError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/string/type.ParseError.html", "unified_diff": "@@ -1,3 +1,3 @@\n-ParseError in alloc::string - Rust
    alloc::string

    Type Alias ParseError

    1.36.0 \u00b7 source
    pub type ParseError = Infallible;
    Expand description

    A type alias for Infallible.

    \n+ParseError in alloc::string - Rust
    alloc::string

    Type Alias ParseError

    1.36.0 \u00b7 source
    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-doc/html/alloc/sync/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/sync/index.html", "unified_diff": "@@ -2,8 +2,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-doc/html/alloc/sync/struct.Arc.html", "source2": "./usr/share/doc/rust-doc/html/alloc/sync/struct.Arc.html", "unified_diff": "@@ -1,49 +1,49 @@\n-Arc in alloc::sync - Rust
    alloc::sync

    Struct Arc

    1.36.0 \u00b7 source
    pub struct Arc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A thread-safe reference-counting pointer. \u2018Arc\u2019 stands for \u2018Atomically\n+Arc in alloc::sync - Rust

    alloc::sync

    Struct Arc

    1.36.0 \u00b7 source
    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@@ -54,15 +54,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
    \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@@ -91,15 +91,15 @@\n for _ in 0..10 {\n     let five = Arc::clone(&five);\n \n     thread::spawn(move || {\n         println!(\"{five:?}\");\n     });\n }
    \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@@ -115,15 +115,15 @@\n counting in general.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Arc<T>

    1.0.0 \u00b7 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);
    \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@@ -155,51 +155,51 @@\n }\n \n /// Returns a reference counted pointer to Self.\n fn me(&self) -> Arc<Self> {\n self.me.upgrade().unwrap()\n }\n }

    \n-
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    Constructs a new Arc with uninitialized contents.

    \n+
    1.82.0 \u00b7 source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    Constructs a new Arc with uninitialized contents.

    \n
    \u00a7Examples
    \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)
    \n-
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\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)
    \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)?;
    \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(allocator_api)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n \n@@ -207,17 +207,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);
    \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( allocator_api)]\n \n use std::sync::Arc;\n \n let zero = Arc::<u32>::try_new_zeroed()?;\n@@ -228,15 +228,15 @@\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);
    \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(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n@@ -246,30 +246,30 @@\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)
    \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(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)
    \n
    source

    pub fn new_cyclic_in<F>(data_fn: F, alloc: A) -> Arc<T, A>
    where\n- F: FnOnce(&Weak<T, A>) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T, A> in the given allocator while giving you a Weak<T, A> to the allocation,\n+ F: FnOnce(&Weak<T, A>) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T, A> in the given allocator while giving you a Weak<T, A> 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, A> is created, such that you can\n clone and store it inside the T.

    \n

    new_cyclic_in first allocates the managed allocation for the Arc<T, A>,\n@@ -280,29 +280,29 @@\n returns, calling upgrade on the weak reference inside your closure will\n fail and result in a None value.

    \n
    \u00a7Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\n temporary Weak<T> is dropped normally.

    \n
    \u00a7Example
    \n

    See new_cyclic

    \n-
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n+

    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    \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>
    where\n+

    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    \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)?;
    \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(allocator_api)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n use std::alloc::System;\n@@ -313,65 +313,65 @@\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);
    \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(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);
    \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-keep the Arc in the Err case.\n-Immediately dropping the Err-value, as the expression\n+keep the Arc in the Err case.\n+Immediately dropping the Err-value, as the expression\n Arc::try_unwrap(this).ok() does, can 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 execute such an expression in parallel,\n there is a race condition without the possibility of unsafety:\n The threads could first both check whether they own the last instance\n in Arc::try_unwrap, determine that they both do not, and then both\n-discard and drop their instance in the call to ok.\n+discard and drop their instance in the call to ok.\n In this scenario, the value inside the Arc is safely destroyed\n by exactly one of the threads, but neither thread will ever be able\n to use the value.

    \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);
    \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@@ -434,15 +434,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();
    \n-
    source\u00a7

    impl<T> Arc<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    Constructs a new atomically reference-counted slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Arc<[T]>

    1.82.0 \u00b7 source

    pub fn new_uninit_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    Constructs a new atomically reference-counted slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n \n let mut values = Arc::<[u32]>::new_uninit_slice(3);\n \n@@ -451,28 +451,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])
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_zeroed_alloc #129396)

    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_zeroed_alloc #129396)

    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_zeroed_alloc)]\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])
    \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. (allocator_api #32838)

    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. (allocator_api #32838)

    Constructs a new atomically reference-counted slice with uninitialized contents in the\n provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n@@ -485,31 +485,31 @@\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])
    \n-
    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Arc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    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. (allocator_api #32838)

    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(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])
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Arc<T, A>

    Converts to Arc<T>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Arc<MaybeUninit<T>, A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Arc<T, A>

    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(get_mut_unchecked)]\n \n@@ -519,17 +519,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)
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Arc<[T], A>

    Converts to Arc<[T]>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Arc<[MaybeUninit<T>], A>

    1.82.0 \u00b7 source

    pub unsafe fn assume_init(self) -> Arc<[T], A>

    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(get_mut_unchecked)]\n \n@@ -542,28 +542,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])
    \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@@ -587,15 +587,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 }
    \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@@ -607,15 +607,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 }
    \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@@ -631,64 +631,64 @@\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 }
    \n-
    source\u00a7

    impl<T: ?Sized, 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: ?Sized, 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-
    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n+
    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\");
    \n-
    source

    pub fn into_raw_with_allocator(this: Self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n+
    source

    pub fn into_raw_with_allocator(this: Self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\n Arc::from_raw_in.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::sync::Arc;\n use std::alloc::System;\n \n let x = Arc::new_in(\"hello\".to_owned(), System);\n let (ptr, alloc) = Arc::into_raw_with_allocator(x);\n assert_eq!(unsafe { &*ptr }, \"hello\");\n let x = unsafe { Arc::from_raw_in(ptr, alloc) };\n assert_eq!(&*x, \"hello\");
    \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\");
    \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@@ -720,51 +720,51 @@\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 }
    \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+ 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);
    \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));
    \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));
    \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@@ -780,15 +780,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 }
    \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@@ -808,28 +808,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 }

    \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));
    \n-
    source\u00a7

    impl<T: ?Sized + CloneToUninit, 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: ?Sized + CloneToUninit, 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@@ -856,15 +856,15 @@\n assert!(75 == *data);\n assert!(75 == *weak.upgrade().unwrap());\n \n *Arc::make_mut(&mut data) += 1;\n \n assert!(76 == *data);\n assert!(weak.upgrade().is_none());
    \n-
    source\u00a7

    impl<T: Clone, A: Allocator> Arc<T, A>

    1.76.0 \u00b7 source

    pub fn unwrap_or_clone(this: Self) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\n+

    source\u00a7

    impl<T: Clone, A: Allocator> Arc<T, A>

    1.76.0 \u00b7 source

    pub fn unwrap_or_clone(this: Self) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\n clone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n (*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    \u00a7Examples
    \n
    let inner = String::from(\"test\");\n let ptr = inner.as_ptr();\n \n@@ -878,30 +878,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()));
    \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());
    \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@@ -942,31 +942,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-free

    \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,

    Attempts 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,

    Attempts 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));
    \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@@ -974,36 +974,36 @@\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    \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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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);
    \n-
    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<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
    1.80.0 \u00b7 source\u00a7

    impl<T> Default for Arc<[T]>

    source\u00a7

    fn default() -> Self

    Creates an empty [T] inside an Arc

    \n+
    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<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
    1.80.0 \u00b7 source\u00a7

    impl<T> Default for Arc<[T]>

    source\u00a7

    fn default() -> Self

    Creates an empty [T] inside an Arc

    \n

    This may or may not share an allocation with other Arcs.

    \n-
    1.80.0 \u00b7 source\u00a7

    impl Default for Arc<CStr>

    source\u00a7

    fn default() -> Self

    Creates an empty CStr inside an Arc

    \n+
    1.80.0 \u00b7 source\u00a7

    impl Default for Arc<CStr>

    source\u00a7

    fn default() -> Self

    Creates an empty CStr inside an Arc

    \n

    This may or may not share an allocation with other Arcs.

    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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);
    \n-
    1.80.0 \u00b7 source\u00a7

    impl Default for Arc<str>

    source\u00a7

    fn default() -> Self

    Creates an empty str inside an Arc

    \n+
    1.80.0 \u00b7 source\u00a7

    impl Default for Arc<str>

    source\u00a7

    fn default() -> Self

    Creates an empty str inside an Arc

    \n

    This may or may not share an allocation with other Arcs.

    \n-
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Arc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Arc.

    \n+
    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>

    source\u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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@@ -1015,75 +1015,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!\"
    \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)>

    Returns 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]>

    Allocates a reference-counted slice and fills 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)>

    Returns 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]>

    Allocates a reference-counted slice and fills 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[..]);
    \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>

    Allocates a reference-counted str and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Arc<str>

    source\u00a7

    fn from(v: &str) -> Arc<str>

    Allocates a reference-counted str and copies v into it.

    \n
    \u00a7Example
    \n
    let shared: Arc<str> = Arc::from(\"eggplant\");\n assert_eq!(\"eggplant\", &shared[..]);
    \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[..]);
    \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());
    \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[..]);
    \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>

    Creates an atomically reference-counted pointer from a clone-on-write\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>

    Creates an atomically reference-counted pointer from a clone-on-write\n 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[..]);
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocates a reference-counted str and copies v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocates a reference-counted str and copies 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[..]);
    \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);
    \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>

    Allocates a reference-counted slice and moves 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>

    Allocates a reference-counted slice and moves 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[..]);
    \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();
    \n

    this behaves as if we wrote:

    \n \n@@ -1093,101 +1093,101 @@\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.
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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)));
    \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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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,

    Restrict a value to a certain interval. Read more
    1.0.0 \u00b7 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));
    \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));
    \n-
    1.0.0 \u00b7 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+
    1.0.0 \u00b7 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)));
    \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));
    \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));
    \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));
    \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));
    \n-
    1.0.0 \u00b7 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. Read more
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>

    source\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, A: Allocator> DerefPure for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Arc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>

    1.0.0 \u00b7 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, A> Freeze for Arc<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Arc<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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+
    1.0.0 \u00b7 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. Read more
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>

    source\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, A: Allocator> DerefPure for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Arc<T, A>

    1.0.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>

    1.0.0 \u00b7 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, A> Freeze for Arc<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Arc<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. 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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/sync/struct.Weak.html", "source2": "./usr/share/doc/rust-doc/html/alloc/sync/struct.Weak.html", "unified_diff": "@@ -1,41 +1,41 @@\n-Weak in alloc::sync - Rust
    alloc::sync

    Struct Weak

    1.36.0 \u00b7 source
    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+Weak in alloc::sync - Rust

    alloc::sync

    Struct Weak

    1.36.0 \u00b7 source
    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());
    \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());
    \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@@ -56,18 +56,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());
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<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-
    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>

    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+
    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() });
    \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));
    \n-
    source

    pub fn into_raw_with_allocator(self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T>, returning the wrapped pointer and allocator.

    \n+
    source

    pub fn into_raw_with_allocator(self) -> (*const T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T>, returning the wrapped pointer and allocator.

    \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_in.

    \n

    The same restrictions of accessing the target of the pointer as with\n as_ptr apply.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n@@ -113,15 +113,15 @@\n let (raw, alloc) = weak.into_raw_with_allocator();\n \n assert_eq!(1, Arc::weak_count(&strong));\n assert_eq!(\"hello\", unsafe { &*raw });\n \n drop(unsafe { Weak::from_raw_in(raw, alloc) });\n assert_eq!(0, Arc::weak_count(&strong));
    \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@@ -143,18 +143,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());

    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    1.4.0 \u00b7 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>

    1.4.0 \u00b7 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@@ -162,25 +162,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());
    \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@@ -202,30 +202,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));
    \n-

    Trait Implementations\u00a7

    1.4.0 \u00b7 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

    1.4.0 \u00b7 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);
    \n-
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.4.0 \u00b7 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 memory.\n+

    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.4.0 \u00b7 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 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());
    \n-
    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n+
    1.4.0 \u00b7 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@@ -237,28 +237,28 @@\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());
    \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> PinCoerceUnsized for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Weak<T, A>
    where\n- A: Freeze,\n- T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Weak<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe + ?Sized,

    \u00a7

    impl<T, A> Unpin for Weak<T, A>
    where\n- A: Unpin,\n- T: ?Sized,

    \u00a7

    impl<T, A> UnwindSafe for Weak<T, A>
    where\n- A: UnwindSafe,\n- T: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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> PinCoerceUnsized for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for Weak<T, A>
    where\n+ A: Freeze,\n+ T: ?Sized,

    \u00a7

    impl<T, A> RefUnwindSafe for Weak<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe + ?Sized,

    \u00a7

    impl<T, A> Unpin for Weak<T, A>
    where\n+ A: Unpin,\n+ T: ?Sized,

    \u00a7

    impl<T, A> UnwindSafe for Weak<T, A>
    where\n+ A: UnwindSafe,\n+ T: RefUnwindSafe + ?Sized,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,
    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/task/trait.LocalWake.html", "source2": "./usr/share/doc/rust-doc/html/alloc/task/trait.LocalWake.html", "unified_diff": "@@ -84,9 +84,9 @@\n block_on(async {\n println!(\"hello world\");\n });
    \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-doc/html/alloc/task/trait.Wake.html", "source2": "./usr/share/doc/rust-doc/html/alloc/task/trait.Wake.html", "unified_diff": "@@ -1,25 +1,25 @@\n Wake in alloc::task - Rust
    alloc::task

    Trait Wake

    1.51.0 \u00b7 source
    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-doc/html/alloc/vec/index.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/index.html", "unified_diff": "@@ -21,13 +21,13 @@\n \n v.push(3);
    \n

    Popping values works in much the same way:

    \n \n
    let mut v = vec![1, 2];\n \n let two = v.pop();
    \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;
    \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-doc/html/alloc/vec/struct.Drain.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/struct.Drain.html", "unified_diff": "@@ -1,21 +1,21 @@\n Drain in alloc::vec - Rust
    alloc::vec

    Struct Drain

    1.36.0 \u00b7 source
    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(..);
    \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']);
    \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@@ -23,216 +23,216 @@\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']);
    \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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 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
    1.6.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.6.0 \u00b7 source\u00a7

    impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>

    1.6.0 \u00b7 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- T: RefUnwindSafe,\n- A: 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- T: RefUnwindSafe,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.6.0 \u00b7 source\u00a7

    impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>

    1.6.0 \u00b7 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+ T: RefUnwindSafe,\n+ A: 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+ T: RefUnwindSafe,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/vec/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/struct.ExtractIf.html", "unified_diff": "@@ -1,212 +1,212 @@\n ExtractIf in alloc::vec - Rust
    alloc::vec

    Struct ExtractIf

    source
    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);
    \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,

    source\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,

    source\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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- F: RefUnwindSafe,\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n- F: Send,\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n- F: Sync,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ F: RefUnwindSafe,\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n+ F: Send,\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n+ F: Sync,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/vec/struct.IntoIter.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/struct.IntoIter.html", "unified_diff": "@@ -1,238 +1,238 @@\n IntoIter in alloc::vec - Rust
    alloc::vec

    Struct IntoIter

    1.36.0 \u00b7 source
    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();
    \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']);
    \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');
    \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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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(), &[]);
    \n-
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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 fold<B, F>(self, accum: 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 try_fold<B, F, R>(&mut self, accum: 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.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. 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+
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 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
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    source\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 fold<B, F>(self, accum: 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 try_fold<B, F, R>(&mut self, accum: 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.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. 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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>

    1.0.0 \u00b7 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- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- T: Unpin,\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- T: RefUnwindSafe + UnwindSafe,\n- A: 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> CloneToUninit for T
    where\n- T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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>

    1.0.0 \u00b7 source\u00a7

    impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>

    1.0.0 \u00b7 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+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ T: Unpin,\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ T: RefUnwindSafe + UnwindSafe,\n+ A: 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> CloneToUninit for T
    where\n+ T: Clone,

    source\u00a7

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
    Performs copy-assignment from self to dst. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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,

    source\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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/vec/struct.Splice.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/struct.Splice.html", "unified_diff": "@@ -1,227 +1,227 @@\n-Splice in alloc::vec - Rust
    alloc::vec

    Struct Splice

    1.36.0 \u00b7 source
    pub struct Splice<'a, I: Iterator + 'a, A: Allocator + 'a = Global> { /* private fields */ }
    Expand description

    A splicing iterator for Vec.

    \n+Splice in alloc::vec - Rust
    alloc::vec

    Struct Splice

    1.36.0 \u00b7 source
    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);
    \n-

    Trait Implementations\u00a7

    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,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.21.0 \u00b7 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
    1.21.0 \u00b7 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
    1.21.0 \u00b7 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
    1.21.0 \u00b7 source\u00a7

    impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>

    source\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

    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,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.21.0 \u00b7 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
    1.21.0 \u00b7 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
    1.21.0 \u00b7 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
    1.21.0 \u00b7 source\u00a7

    impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>

    source\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
    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<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<R>(\n &mut self,\n- f: impl FnMut(Self::Item, Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\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<R>(\n+ f: impl FnMut(Self::Item, Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\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<R>(\n &mut self,\n- f: impl FnMut(&Self::Item) -> R,\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\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+ f: impl FnMut(&Self::Item) -> R,\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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- I: RefUnwindSafe,\n- <I as Iterator>::Item: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<'a, I, A> Send for Splice<'a, I, A>
    where\n- I: Send,\n- <I as Iterator>::Item: Send,\n- A: Send,

    \u00a7

    impl<'a, I, A> Sync for Splice<'a, I, A>
    where\n- I: Sync,\n- <I as Iterator>::Item: Sync,\n- A: 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- I: UnwindSafe,\n- <I as Iterator>::Item: RefUnwindSafe,\n- A: 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
    1.82.0 \u00b7 source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    1.82.0 \u00b7 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,

    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+ I: RefUnwindSafe,\n+ <I as Iterator>::Item: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<'a, I, A> Send for Splice<'a, I, A>
    where\n+ I: Send,\n+ <I as Iterator>::Item: Send,\n+ A: Send,

    \u00a7

    impl<'a, I, A> Sync for Splice<'a, I, A>
    where\n+ I: Sync,\n+ <I as Iterator>::Item: Sync,\n+ A: 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+ I: UnwindSafe,\n+ <I as Iterator>::Item: RefUnwindSafe,\n+ A: 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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,

    source\u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    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>,

    source\u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    source\u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned 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-doc/html/alloc/vec/struct.Vec.html", "source2": "./usr/share/doc/rust-doc/html/alloc/vec/struct.Vec.html", "unified_diff": "@@ -48,28 +48,28 @@\n \n while let Some(top) = stack.pop() {\n // Prints 3, 2, 1\n println!(\"{top}\");\n }
    \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'
    \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!
    \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@@ -77,15 +77,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;
    \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@@ -108,15 +108,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@@ -132,15 +132,15 @@\n +--------+--------+--------+\n |\n v\n Heap +--------+--------+--------+--------+\n | 'a' | 'b' | uninit | uninit |\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@@ -186,15 +186,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>

      1.0.0 (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();
      \n-
      1.0.0 \u00b7 source

      pub fn with_capacity(capacity: usize) -> Self

      Constructs a new, empty Vec<T> with at least the specified capacity.

      \n+
      1.0.0 \u00b7 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@@ -223,25 +223,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);
      \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
      1.0.0 \u00b7 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@@ -252,15 +252,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@@ -320,17 +320,17 @@\n Vec::from_raw_parts(mem, 1, 16)\n };\n \n assert_eq!(vec, &[1_000_000]);\n assert_eq!(vec.capacity(), 16);\n }

      \n
      source

      pub unsafe fn from_parts(\n- ptr: NonNull<T>,\n- length: usize,\n- capacity: usize,\n+ ptr: NonNull<T>,\n+ length: usize,\n+ capacity: usize,\n ) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

      Creates a Vec<T> directly from a NonNull 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@@ -341,30 +341,30 @@\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 size_t, doing so is only safe if the array was initially allocated by\n a Vec or String.\n It\u2019s also not safe to build one from a Vec<u16> and its length, because\n the allocator cares about the alignment, and these two types have different\n alignments. The buffer was allocated with alignment 2 (for u16), but after\n turning it into a Vec<u8> it\u2019ll be deallocated with alignment 1. To avoid\n these issues, it is often preferable to do casting/transmuting using\n-NonNull::slice_from_raw_parts instead.

      \n+NonNull::slice_from_raw_parts instead.

      \n

      The ownership of ptr is effectively transferred to the\n Vec<T> which may then deallocate, reallocate or change the\n contents of memory pointed to by the pointer at will. Ensure\n that nothing else uses the pointer after calling this\n function.

      \n
      \u00a7Examples
      \n
      #![feature(box_vec_non_null)]\n@@ -420,15 +420,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);
      \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@@ -463,28 +463,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);

      \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@@ -496,15 +496,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@@ -570,17 +570,17 @@\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 }

      \n
      source

      pub unsafe fn from_parts_in(\n- ptr: NonNull<T>,\n- length: usize,\n- capacity: usize,\n+ ptr: NonNull<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 NonNull 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@@ -592,15 +592,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@@ -665,15 +665,15 @@\n \n Vec::from_parts_in(mem, 1, 16, Global)\n };\n \n assert_eq!(vec, &[1_000_000]);\n assert_eq!(vec.capacity(), 16);\n }

      \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@@ -689,15 +689,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]);

      \n-
      source

      pub fn into_parts(self) -> (NonNull<T>, usize, usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

      Decomposes a Vec<T> into its raw components: (NonNull pointer, length, capacity).

      \n+
      source

      pub fn into_parts(self) -> (NonNull<T>, usize, usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

      Decomposes a Vec<T> into its raw components: (NonNull pointer, length, capacity).

      \n

      Returns the NonNull 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_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 NonNull pointer, length, and capacity back\n@@ -714,15 +714,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.cast::<u32>();\n \n Vec::from_parts(ptr, len, cap)\n };\n assert_eq!(rebuilt, [4294967295, 0, 1]);

      \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@@ -743,15 +743,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_in(ptr, len, cap, alloc)\n };\n assert_eq!(rebuilt, [4294967295, 0, 1]);

      \n-
      source

      pub fn into_parts_with_alloc(self) -> (NonNull<T>, usize, usize, A)

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Decomposes a Vec<T> into its raw components: (NonNull pointer, length, capacity, allocator).

      \n+
      source

      pub fn into_parts_with_alloc(self) -> (NonNull<T>, usize, usize, A)

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Decomposes a Vec<T> into its raw components: (NonNull pointer, length, capacity, allocator).

      \n

      Returns the NonNull 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_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 NonNull pointer, length, and capacity back\n into a Vec with the from_parts_in function, allowing\n@@ -772,47 +772,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.cast::<u32>();\n \n Vec::from_parts_in(ptr, len, cap, alloc)\n };\n assert_eq!(rebuilt, [4294967295, 0, 1]);

      \n-
      1.0.0 (const: unstable) \u00b7 source

      pub fn capacity(&self) -> usize

      Returns the total number of elements the vector can hold without\n+

      1.0.0 (const: unstable) \u00b7 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);
      \n-
      1.0.0 \u00b7 source

      pub fn reserve(&mut self, additional: usize)

      Reserves capacity for at least additional more elements to be inserted\n+

      1.0.0 \u00b7 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);
      \n-
      1.0.0 \u00b7 source

      pub fn reserve_exact(&mut self, additional: usize)

      Reserves the minimum capacity for at least additional more elements to\n+

      1.0.0 \u00b7 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);
      \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@@ -831,16 +831,16 @@\n val * 2 + 5 // very complicated\n }));\n \n Ok(output)\n }

      \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@@ -870,41 +870,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);
      \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);
      \n-
      1.0.0 \u00b7 source

      pub fn into_boxed_slice(self) -> Box<[T], A>

      Converts the vector into Box<[T]>.

      \n+
      1.0.0 \u00b7 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();
      \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);
      \n-
      1.0.0 \u00b7 source

      pub fn truncate(&mut self, len: usize)

      Shortens the vector, keeping the first len elements and dropping\n+

      1.0.0 \u00b7 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@@ -922,27 +922,27 @@\n assert_eq!(vec, [1, 2, 3]);
      \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, []);
      \n-
      1.7.0 (const: unstable) \u00b7 source

      pub fn as_slice(&self) -> &[T]

      Extracts a slice containing the entire vector.

      \n+
      1.7.0 (const: unstable) \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();
      \n-
      1.7.0 (const: unstable) \u00b7 source

      pub fn as_mut_slice(&mut self) -> &mut [T]

      Extracts a mutable slice of the entire vector.

      \n+
      1.7.0 (const: unstable) \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();
      \n-
      1.37.0 (const: unstable) \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 (const: unstable) \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 dangling.\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@@ -972,15 +972,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 }

      \n-
      1.37.0 (const: unstable) \u00b7 source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns a raw mutable pointer to the vector\u2019s buffer, or a dangling\n+

      1.37.0 (const: unstable) \u00b7 source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns a raw 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 dangling.\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@@ -1011,15 +1011,15 @@\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 }

      \n-
      source

      pub fn as_non_null(&mut self) -> NonNull<T>

      \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

      Returns a NonNull pointer to the vector\u2019s buffer, or a dangling\n+

      source

      pub fn as_non_null(&mut self) -> NonNull<T>

      \ud83d\udd2cThis is a nightly-only experimental API. (box_vec_non_null #130364)

      Returns a NonNull pointer to the vector\u2019s buffer, or a dangling\n NonNull 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 dangling.\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@@ -1054,20 +1054,20 @@\n let ptr1 = v.as_non_null();\n ptr1.write(1);\n let ptr2 = v.as_non_null();\n ptr2.write(2);\n // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n ptr1.write(3);\n }

      \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-
      1.0.0 \u00b7 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+
      1.0.0 \u00b7 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@@ -1103,57 +1103,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 }

      \n

      Normally, here, one would use clear instead to correctly drop\n the contents and thus not leak memory.

      \n-
      1.0.0 \u00b7 source

      pub fn swap_remove(&mut self, index: usize) -> T

      Removes an element from the vector and returns it.

      \n+
      1.0.0 \u00b7 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 of the remaining elements, 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\"]);
      \n-
      1.0.0 \u00b7 source

      pub fn insert(&mut self, index: usize, element: T)

      Inserts an element at position index within the vector, shifting all\n+

      1.0.0 \u00b7 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]);
      \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-
      1.0.0 \u00b7 source

      pub fn remove(&mut self, index: usize) -> T

      Removes and returns the element at position index within the vector,\n+

      1.0.0 \u00b7 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]);
      \n
      1.0.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
      let mut vec = vec![1, 2, 3, 4];\n vec.retain(|&x| x % 2 == 0);\n assert_eq!(vec, [2, 4]);
      \n@@ -1162,40 +1162,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]);
      \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]);
      \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]);
      \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@@ -1211,20 +1211,20 @@\n vec.push(3);\n assert_eq!(vec, [1, 2, 3]);
      \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@@ -1235,27 +1235,27 @@\n         }\n     }\n     Ok(vec)\n }\n assert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
      \n
      \u00a7Time complexity
      \n

      Takes O(1) time.

      \n-
      1.0.0 \u00b7 source

      pub fn pop(&mut self) -> Option<T>

      Removes the last element from a vector and returns it, or None if it\n+

      1.0.0 \u00b7 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]);
      \n
      \u00a7Time complexity
      \n

      Takes O(1) time.

      \n-
      source

      pub fn pop_if<F>(&mut self, f: F) -> Option<T>
      where\n- F: FnOnce(&mut T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_pop_if #122741)

      Removes and returns the last element in a vector if the predicate\n-returns true, or None if the predicate returns false or the vector\n+

      source

      pub fn pop_if<F>(&mut self, f: F) -> Option<T>
      where\n+ F: FnOnce(&mut T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_pop_if #122741)

      Removes and returns the last element in a vector if the predicate\n+returns true, or None if the predicate returns false or the vector\n is empty.

      \n
      \u00a7Examples
      \n
      #![feature(vec_pop_if)]\n \n let mut vec = vec![1, 2, 3, 4];\n let pred = |x: &mut i32| *x % 2 == 0;\n \n@@ -1268,25 +1268,25 @@\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, []);
      \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@@ -1298,66 +1298,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());
      \n-
      1.0.0 (const: unstable) \u00b7 source

      pub fn len(&self) -> usize

      Returns the number of elements in the vector, also referred to\n+

      1.0.0 (const: unstable) \u00b7 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);
      \n-
      1.0.0 (const: unstable) \u00b7 source

      pub fn is_empty(&self) -> bool

      Returns true if the vector contains no elements.

      \n+
      1.0.0 (const: unstable) \u00b7 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());
      \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]);
      \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]);
      \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].

      \n

      Note that the type T must outlive the chosen lifetime 'a. If the type\n has only static references, or none at all, then this may be chosen to be\n '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@@ -1368,15 +1368,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]);
      \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@@ -1389,15 +1389,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]);
      \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@@ -1423,86 +1423,86 @@\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]);

      \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]);
      \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]);
      \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]);
      \n-
      source\u00a7

      impl<T, A: Allocator, const N: usize> Vec<[T; N], A>

      1.80.0 \u00b7 source

      pub fn into_flattened(self) -> Vec<T, A>

      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>

      1.80.0 \u00b7 source

      pub fn into_flattened(self) -> Vec<T, A>

      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
      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));
      \n-
      source\u00a7

      impl<T: PartialEq, A: Allocator> Vec<T, A>

      1.0.0 \u00b7 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>

      1.0.0 \u00b7 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]);
      \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@@ -1518,15 +1518,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]);
      \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@@ -1552,64 +1552,64 @@\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]);
      \n-

      Methods from Deref<Target = [T]>\u00a7

      1.0.0 \u00b7 source

      pub fn sort(&mut self)
      where\n- T: Ord,

      Sorts the slice, preserving initial order of equal elements.

      \n+

      Methods from Deref<Target = [T]>\u00a7

      1.0.0 \u00b7 source

      pub fn sort(&mut self)
      where\n+ T: Ord,

      Sorts the slice, preserving initial order of equal elements.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(n * log(n))\n worst-case.

      \n-

      If the implementation of Ord for T does not implement a total order, the function\n+

      If the implementation of Ord for T does not implement a total order, the function\n may panic; even if the function exits normally, the resulting order of elements in the slice\n is unspecified. See also the note on panicking below.

      \n

      When applicable, unstable sorting is preferred because it is generally faster than stable\n sorting and it doesn\u2019t allocate auxiliary memory. See\n-sort_unstable. The exception are partially sorted slices, which\n+sort_unstable. The exception are partially sorted slices, which\n may be better served with slice::sort.

      \n-

      Sorting types that only implement PartialOrd such as f32 and f64 require\n+

      Sorting types that only implement PartialOrd such as f32 and f64 require\n additional precautions. For example, f32::NAN != f32::NAN, which doesn\u2019t fulfill the\n-reflexivity requirement of Ord. By using an alternative comparison function with\n-slice::sort_by such as f32::total_cmp or f64::total_cmp that defines a total\n+reflexivity requirement of Ord. By using an alternative comparison function with\n+slice::sort_by such as f32::total_cmp or f64::total_cmp that defines a total\n order users can sort slices containing floating-point values. Alternatively, if all values\n-in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp forms a\n+in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp forms a\n total order, it\u2019s possible to sort the slice with sort_by(|a, b| a.partial_cmp(b).unwrap()).

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which\n combines the fast average case of quicksort with the fast worst case and partial run\n detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs\n with k distinct elements, the expected time to sort the data is O(n * log(k)).

      \n

      The auxiliary memory allocation behavior depends on the input length. Short slices are\n handled without allocation, medium sized slices allocate self.len() and beyond that it\n clamps at self.len() / 2.

      \n
      \u00a7Panics
      \n-

      May panic if the implementation of Ord for T does not implement a total order, or if\n-the Ord implementation itself panics.

      \n+

      May panic if the implementation of Ord for T does not implement a total order, or if\n+the Ord implementation itself panics.

      \n

      All safe functions on slices preserve the invariant that even if the function panics, all\n original elements will remain in the slice and any possible modifications via interior\n mutability are observed in the input. This ensures that recovery code (for instance inside\n of a Drop or following a catch_unwind) will still have access to all the original\n elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able\n to dispose of all contained elements.

      \n
      \u00a7Examples
      \n
      let mut v = [4, -5, 1, -3, 2];\n \n v.sort();\n assert_eq!(v, [-5, -3, 1, 2, 4]);
      \n
      1.0.0 \u00b7 source

      pub fn sort_by<F>(&mut self, compare: F)
      where\n- F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparison function, preserving initial order of equal elements.

      \n+ F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparison function, preserving initial order of equal elements.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(n * log(n))\n worst-case.

      \n

      If the comparison function compare does not implement a total order, the function may\n panic; even if the function exits normally, the resulting order of elements in the slice is\n unspecified. See also the note on panicking below.

      \n

      For example |a, b| (a - b).cmp(a) is a comparison function that is neither transitive nor\n reflexive nor total, a < b < c < a with a = 1, b = 2, c = 3. For more information and\n-examples see the Ord documentation.

      \n+examples see the Ord documentation.

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which\n combines the fast average case of quicksort with the fast worst case and partial run\n detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs\n with k distinct elements, the expected time to sort the data is O(n * log(k)).

      \n

      The auxiliary memory allocation behavior depends on the input length. Short slices are\n handled without allocation, medium sized slices allocate self.len() and beyond that it\n@@ -1627,109 +1627,109 @@\n v.sort_by(|a, b| a.cmp(b));\n assert_eq!(v, [-5, -3, 1, 2, 4]);\n \n // reverse sorting\n v.sort_by(|a, b| b.cmp(a));\n assert_eq!(v, [4, 2, 1, -3, -5]);

      \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, preserving initial order of equal elements.

      \n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Sorts the slice with a key extraction function, preserving initial order of equal elements.

      \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-

      If the implementation of Ord for K does not implement a total order, the function\n+

      If the implementation of Ord for K does not implement a total order, the function\n may panic; even if the function exits normally, the resulting order of elements in the slice\n is unspecified. See also the note on panicking below.

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on driftsort by Orson Peters and Lukas Bergdoll, which\n combines the fast average case of quicksort with the fast worst case and partial run\n detection of mergesort, achieving linear time on fully sorted and reversed inputs. On inputs\n with k distinct elements, the expected time to sort the data is O(n * log(k)).

      \n

      The auxiliary memory allocation behavior depends on the input length. Short slices are\n handled without allocation, medium sized slices allocate self.len() and beyond that it\n clamps at self.len() / 2.

      \n
      \u00a7Panics
      \n-

      May panic if the implementation of Ord for K does not implement a total order, or if\n-the Ord implementation or the key-function f panics.

      \n+

      May panic if the implementation of Ord for K does not implement a total order, or if\n+the Ord implementation or the key-function f panics.

      \n

      All safe functions on slices preserve the invariant that even if the function panics, all\n original elements will remain in the slice and any possible modifications via interior\n mutability are observed in the input. This ensures that recovery code (for instance inside\n of a Drop or following a catch_unwind) will still have access to all the original\n elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able\n to dispose of all contained elements.

      \n
      \u00a7Examples
      \n
      let mut v = [4i32, -5, 1, -3, 2];\n \n v.sort_by_key(|k| k.abs());\n assert_eq!(v, [1, 2, -3, 4, -5]);
      \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, preserving initial order of equal elements.

      \n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Sorts the slice with a key extraction function, preserving initial order of equal elements.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(m * n + n *\n log(n)) worst-case, where the key function is O(m).

      \n

      During sorting, the key function is called at most once per element, by using temporary\n storage to remember the results of key evaluation. The order of calls to the key function is\n unspecified and may change in future versions of the standard library.

      \n-

      If the implementation of Ord for K does not implement a total order, the function\n+

      If the implementation of Ord for K does not implement a total order, the function\n may panic; even if the function exits normally, the resulting order of elements in the slice\n is unspecified. See also the note on panicking below.

      \n

      For simple key functions (e.g., functions that are property accesses or basic operations),\n-sort_by_key is likely to be faster.

      \n+sort_by_key is likely to be faster.

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on instruction-parallel-network sort by Lukas\n Bergdoll, which combines the fast average case of randomized quicksort with the fast worst\n case of heapsort, while achieving linear time on fully sorted and reversed inputs. And\n O(k * log(n)) where k is the number of distinct elements in the input. It leverages\n superscalar out-of-order execution capabilities commonly found in CPUs, to efficiently\n perform the operation.

      \n

      In the worst case, the algorithm allocates temporary storage in a Vec<(K, usize)> the\n length of the slice.

      \n
      \u00a7Panics
      \n-

      May panic if the implementation of Ord for K does not implement a total order, or if\n-the Ord implementation panics.

      \n+

      May panic if the implementation of Ord for K does not implement a total order, or if\n+the Ord implementation panics.

      \n

      All safe functions on slices preserve the invariant that even if the function panics, all\n original elements will remain in the slice and any possible modifications via interior\n mutability are observed in the input. This ensures that recovery code (for instance inside\n of a Drop or following a catch_unwind) will still have access to all the original\n elements. For instance, if the slice belongs to a Vec, the Vec::drop method will be able\n to dispose of all contained elements.

      \n
      \u00a7Examples
      \n
      let mut v = [4i32, -5, 1, -3, 2, 10];\n \n // Strings are sorted by lexicographical order.\n v.sort_by_cached_key(|k| k.to_string());\n assert_eq!(v, [-3, -5, 1, 10, 2, 4]);
      \n
      1.0.0 \u00b7 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.
      \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.
      \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]);
      \n

      A panic upon overflow:

      \n \n
      \u24d8
      // this will panic at runtime\n b\"0123456789abcdef\".repeat(usize::MAX);
      \n-
      1.0.0 \u00b7 source

      pub fn concat<Item: ?Sized>(&self) -> <Self as Concat<Item>>::Output
      where\n+

      1.0.0 \u00b7 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]);
      \n
      1.3.0 \u00b7 source

      pub fn join<Separator>(\n &self,\n sep: Separator,\n@@ -1745,313 +1745,313 @@\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]);
      \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-
      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+

      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+
      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\");
      \n-
      1.80.0 \u00b7 source

      pub fn trim_ascii_start(&self) -> &[u8]

      Returns a byte slice with leading ASCII whitespace bytes removed.

      \n+
      1.80.0 \u00b7 source

      pub fn trim_ascii_start(&self) -> &[u8]

      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+u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \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\"\");
      \n-
      1.80.0 \u00b7 source

      pub fn trim_ascii_end(&self) -> &[u8]

      Returns a byte slice with trailing ASCII whitespace bytes removed.

      \n+
      1.80.0 \u00b7 source

      pub fn trim_ascii_end(&self) -> &[u8]

      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+u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \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\"\");
      \n-
      1.80.0 \u00b7 source

      pub fn trim_ascii(&self) -> &[u8]

      Returns a byte slice with leading and trailing ASCII whitespace bytes\n+

      1.80.0 \u00b7 source

      pub fn trim_ascii(&self) -> &[u8]

      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+u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \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\"\");
      \n-
      1.0.0 \u00b7 source

      pub fn len(&self) -> usize

      Returns the number of elements in the slice.

      \n+
      1.0.0 \u00b7 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);
      \n-
      1.0.0 \u00b7 source

      pub fn is_empty(&self) -> bool

      Returns true if the slice has a length of 0.

      \n+
      1.0.0 \u00b7 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());
      \n-
      1.0.0 \u00b7 source

      pub fn first(&self) -> Option<&T>

      Returns the first element of the slice, or None if it is empty.

      \n+
      1.0.0 \u00b7 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());
      \n-
      1.0.0 \u00b7 source

      pub fn first_mut(&mut self) -> Option<&mut T>

      Returns a mutable reference to the first element of the slice, or None if it is empty.

      \n+
      1.0.0 \u00b7 source

      pub fn first_mut(&mut self) -> Option<&mut T>

      Returns a mutable reference 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());
      \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 }
      \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]);
      \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 }
      \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]);
      \n-
      1.0.0 \u00b7 source

      pub fn last(&self) -> Option<&T>

      Returns the last element of the slice, or None if it is empty.

      \n+
      1.0.0 \u00b7 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());
      \n-
      1.0.0 \u00b7 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+
      1.0.0 \u00b7 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());
      \n-
      1.77.0 \u00b7 source

      pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Returns 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]>

      Returns 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>());
      \n-
      1.77.0 \u00b7 source

      pub fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Returns 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]>

      Returns 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>());
      \n-
      1.77.0 \u00b7 source

      pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

      Returns 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])>

      Returns 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>());
      \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])>

      Returns a mutable array reference to the first N items in the slice and the remaining\n+) -> Option<(&mut [T; N], &mut [T])>

      Returns 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>());
      \n-
      1.77.0 \u00b7 source

      pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T], &[T; N])>

      Returns 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])>

      Returns 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>());
      \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])>

      Returns a mutable array reference to the last N items in the slice and the remaining\n+) -> Option<(&mut [T], &mut [T; N])>

      Returns 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>());
      \n-
      1.77.0 \u00b7 source

      pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Returns 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]>

      Returns 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>());
      \n-
      1.77.0 \u00b7 source

      pub fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Returns 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]>

      Returns 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>());
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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));
      \n-
      1.0.0 \u00b7 source

      pub fn get_mut<I>(\n+

      1.0.0 \u00b7 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]);
      \n-
      1.0.0 \u00b7 source

      pub unsafe fn get_unchecked<I>(\n+

      1.0.0 \u00b7 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 }
      \n-
      1.0.0 \u00b7 source

      pub unsafe fn get_unchecked_mut<I>(\n+

      1.0.0 \u00b7 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@@ -2059,92 +2059,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]);
      \n-
      1.0.0 \u00b7 source

      pub fn as_ptr(&self) -> *const T

      Returns a raw pointer to the slice\u2019s buffer.

      \n+
      1.0.0 \u00b7 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 dangling.

      \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 }
      \n-
      1.0.0 \u00b7 source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns an unsafe mutable pointer to the slice\u2019s buffer.

      \n+
      1.0.0 \u00b7 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 dangling.

      \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]);
      \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));
      \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-
      1.0.0 \u00b7 source

      pub fn swap(&mut self, a: usize, b: usize)

      Swaps two elements in the slice.

      \n+
      1.0.0 \u00b7 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\"]);
      \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@@ -2152,38 +2152,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\"]);
      \n-
      1.0.0 \u00b7 source

      pub fn reverse(&mut self)

      Reverses the order of elements in the slice, in place.

      \n+
      1.0.0 \u00b7 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]);
      \n-
      1.0.0 \u00b7 source

      pub fn iter(&self) -> Iter<'_, T> \u24d8

      Returns an iterator over the slice.

      \n+
      1.0.0 \u00b7 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);
      \n-
      1.0.0 \u00b7 source

      pub fn iter_mut(&mut self) -> IterMut<'_, T> \u24d8

      Returns an iterator that allows modifying each value.

      \n+
      1.0.0 \u00b7 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]);
      \n-
      1.0.0 \u00b7 source

      pub fn windows(&self, size: usize) -> Windows<'_, T> \u24d8

      Returns an iterator over all contiguous windows of length\n+

      1.0.0 \u00b7 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@@ -2194,104 +2194,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());
      \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']);
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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());
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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]);
      \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']);
      \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]);
      \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@@ -2306,15 +2306,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
      \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@@ -2327,46 +2327,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']]);
      \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']]);
      \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']);
      \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@@ -2383,15 +2383,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
      \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@@ -2401,15 +2401,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]);
      \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@@ -2419,128 +2419,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]);
      \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]);
      \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());
      \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());
      \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]);
      \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']);
      \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]);
      \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@@ -2556,16 +2556,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);
      \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@@ -2581,21 +2581,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);
      \n-
      1.0.0 \u00b7 source

      pub fn split_at(&self, mid: usize) -> (&[T], &[T])

      Divides one slice into two at an index.

      \n+
      1.0.0 \u00b7 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@@ -2608,34 +2608,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 }
      \n-
      1.0.0 \u00b7 source

      pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])

      Divides one mutable slice into two at an index.

      \n+
      1.0.0 \u00b7 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]);
      \n-
      1.79.0 \u00b7 source

      pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

      Divides one slice into two at an index, without doing bounds checking.

      \n+
      1.79.0 \u00b7 source

      pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

      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
      let v = [1, 2, 3, 4, 5, 6];\n \n@@ -2652,22 +2652,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 }
      \n-
      1.79.0 \u00b7 source

      pub unsafe fn split_at_mut_unchecked(\n+

      1.79.0 \u00b7 source

      pub unsafe fn split_at_mut_unchecked(\n &mut self,\n- mid: usize,\n-) -> (&mut [T], &mut [T])

      Divides one mutable slice into two at an index, without doing bounds checking.

      \n+ mid: usize,\n+) -> (&mut [T], &mut [T])

      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
      let mut v = [1, 0, 3, 0, 5, 6];\n // scoped to restrict the lifetime of the borrows\n@@ -2675,15 +2675,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]);
      \n-
      1.80.0 \u00b7 source

      pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

      Divides one slice into two at an index, returning None if the slice is\n+

      1.80.0 \u00b7 source

      pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

      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@@ -2704,18 +2704,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));
      \n-
      1.80.0 \u00b7 source

      pub fn split_at_mut_checked(\n+

      1.80.0 \u00b7 source

      pub fn split_at_mut_checked(\n &mut self,\n- mid: usize,\n-) -> Option<(&mut [T], &mut [T])>

      Divides one mutable slice into two at an index, returning None if the\n+ mid: usize,\n+) -> Option<(&mut [T], &mut [T])>

      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@@ -2726,16 +2726,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));
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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@@ -2757,26 +2757,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());
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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]);
      \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@@ -2788,28 +2788,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());
      \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]);
      \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@@ -2821,161 +2821,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);
      \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]);
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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 }
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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]);
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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 }
      \n-
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 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]);
      \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);
      \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);
      \n-
      1.0.0 \u00b7 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+
      1.0.0 \u00b7 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));
      \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\"));
      \n-
      1.0.0 \u00b7 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+
      1.0.0 \u00b7 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]));
      \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(&[]));
      \n-
      1.0.0 \u00b7 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+
      1.0.0 \u00b7 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]));
      \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(&[]));
      \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@@ -2983,54 +2983,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()));
      \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);
      \n-
      1.0.0 \u00b7 source

      pub fn binary_search(&self, x: &T) -> Result<usize, usize>
      where\n- T: Ord,

      Binary searches this slice for a given element.\n+

      1.0.0 \u00b7 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, });
      \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@@ -3042,40 +3042,40 @@\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));
      \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 // If `num` is unique, `s.partition_point(|&x| x < num)` (with `<`) is equivalent to\n // `s.binary_search(&num).unwrap_or_else(|x| x)`, but using `<=` will allow `insert`\n // to shift less elements.\n s.insert(idx, num);\n assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
      \n-
      1.0.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 slice with a comparator function.

      \n+
      1.0.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 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@@ -3084,33 +3084,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, });
      \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@@ -3118,55 +3118,55 @@\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, });
      \n-
      1.20.0 \u00b7 source

      pub fn sort_unstable(&mut self)
      where\n- T: Ord,

      Sorts the slice without preserving the initial order of equal elements.

      \n+
      1.20.0 \u00b7 source

      pub fn sort_unstable(&mut self)
      where\n+ T: Ord,

      Sorts the slice without preserving the initial order of equal elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not\n allocate), and O(n * log(n)) worst-case.

      \n-

      If the implementation of Ord for T does not implement a total order the resulting\n+

      If the implementation of Ord for T does not implement a total order the resulting\n order of elements in the slice is unspecified. All original elements will remain in the\n slice and any possible modifications via interior mutability are observed in the input. Same\n-is true if the implementation of Ord for T panics.

      \n-

      Sorting types that only implement PartialOrd such as f32 and f64 require\n+is true if the implementation of Ord for T panics.

      \n+

      Sorting types that only implement PartialOrd such as f32 and f64 require\n additional precautions. For example, f32::NAN != f32::NAN, which doesn\u2019t fulfill the\n-reflexivity requirement of Ord. By using an alternative comparison function with\n-slice::sort_unstable_by such as f32::total_cmp or f64::total_cmp that defines a\n+reflexivity requirement of Ord. By using an alternative comparison function with\n+slice::sort_unstable_by such as f32::total_cmp or f64::total_cmp that defines a\n total order users can sort slices containing floating-point values. Alternatively, if all\n-values in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp\n+values in the slice are guaranteed to be in a subset for which PartialOrd::partial_cmp\n forms a total order, it\u2019s possible to sort the slice with sort_unstable_by(|a, b| a.partial_cmp(b).unwrap()).

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which\n combines the fast average case of quicksort with the fast worst case of heapsort, achieving\n linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the\n expected time to sort the data is O(n * log(k)).

      \n

      It is typically faster than stable sorting, except in a few special cases, e.g., when the\n slice is partially sorted.

      \n
      \u00a7Panics
      \n-

      May panic if the implementation of Ord for T does not implement a total order.

      \n+

      May panic if the implementation of Ord for T does not implement a total order.

      \n
      \u00a7Examples
      \n
      let mut v = [4, -5, 1, -3, 2];\n \n v.sort_unstable();\n assert_eq!(v, [-5, -3, 1, 2, 4]);
      \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 comparison function, without preserving the initial order of\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 comparison function, without preserving the initial order of\n equal elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not\n allocate), and O(n * log(n)) worst-case.

      \n

      If the comparison function compare does not implement a total order the resulting order\n of elements in the slice is unspecified. All original elements will remain in the slice and\n any possible modifications via interior mutability are observed in the input. Same is true\n if compare panics.

      \n

      For example |a, b| (a - b).cmp(a) is a comparison function that is neither transitive nor\n reflexive nor total, a < b < c < a with a = 1, b = 2, c = 3. For more information and\n-examples see the Ord documentation.

      \n+examples see the Ord documentation.

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which\n combines the fast average case of quicksort with the fast worst case of heapsort, achieving\n linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the\n expected time to sort the data is O(n * log(k)).

      \n

      It is typically faster than stable sorting, except in a few special cases, e.g., when the\n slice is partially sorted.

      \n@@ -3176,61 +3176,61 @@\n
      let mut v = [4, -5, 1, -3, 2];\n v.sort_unstable_by(|a, b| a.cmp(b));\n assert_eq!(v, [-5, -3, 1, 2, 4]);\n \n // reverse sorting\n v.sort_unstable_by(|a, b| b.cmp(a));\n assert_eq!(v, [4, 2, 1, -3, -5]);
      \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, without preserving the initial order of\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, without preserving the initial order of\n equal elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place (i.e., does not\n allocate), and O(n * log(n)) worst-case.

      \n-

      If the implementation of Ord for K does not implement a total order the resulting\n+

      If the implementation of Ord for K does not implement a total order the resulting\n order of elements in the slice is unspecified. All original elements will remain in the\n slice and any possible modifications via interior mutability are observed in the input. Same\n-is true if the implementation of Ord for K panics.

      \n+is true if the implementation of Ord for K panics.

      \n
      \u00a7Current implementation
      \n

      The current implementation is based on ipnsort by Lukas Bergdoll and Orson Peters, which\n combines the fast average case of quicksort with the fast worst case of heapsort, achieving\n linear time on fully sorted and reversed inputs. On inputs with k distinct elements, the\n expected time to sort the data is O(n * log(k)).

      \n

      It is typically faster than stable sorting, except in a few special cases, e.g., when the\n slice is partially sorted.

      \n
      \u00a7Panics
      \n-

      May panic if the implementation of Ord for K does not implement a total order.

      \n+

      May panic if the implementation of Ord for K does not implement a total order.

      \n
      \u00a7Examples
      \n
      let mut v = [4i32, -5, 1, -3, 2];\n \n v.sort_unstable_by_key(|k| k.abs());\n assert_eq!(v, [1, 2, -3, 4, -5]);
      \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,

      Reorders the slice such that the element at index after the reordering is at its final\n+ index: usize,\n+) -> (&mut [T], &mut T, &mut [T])

      where\n+ T: Ord,

      Reorders the slice such that the element at index after the reordering is at its final\n 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 (i.e.\n does not allocate), and runs in O(n) time. This function is also known as \u201ckth element\u201d\n in other libraries.

      \n

      It returns a triplet of the following from the reordered slice: 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\n 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 ipnsort by Lukas Bergdoll\n-and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n+and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n Median of Medians using Tukey\u2019s Ninther for pivot selection, which guarantees linear runtime\n for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n-

      May panic if the implementation of Ord for T does not implement a total order.

      \n+

      May panic if the implementation of Ord for T does not implement a total order.

      \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 // the median.\n let (lesser, median, greater) = v.select_nth_unstable(2);\n \n@@ -3240,33 +3240,33 @@\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]);
      \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,

      Reorders the slice with a comparator function such that the element at index after the\n+) -> (&mut [T], &mut T, &mut [T])

      where\n+ F: FnMut(&T, &T) -> Ordering,

      Reorders the slice with a comparator function such that the element at index after the\n 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 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. This\n function is also known as \u201ckth element\u201d in other libraries.

      \n

      It returns a triplet of the following from the slice reordered according to the provided\n comparator function: the subslice prior to index, the element at index, and the subslice\n after index; accordingly, the values in those two subslices will respectively all be\n less-than-or-equal-to 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 ipnsort by Lukas Bergdoll\n-and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n+and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n Median of Medians using Tukey\u2019s Ninther for pivot selection, which guarantees linear runtime\n for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n

      May panic if compare does not implement a total order.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 2, -3, 1];\n@@ -3281,34 +3281,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 == [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]);
      \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,

      Reorders the slice with a key extraction function such that the element at index after the\n+) -> (&mut [T], &mut T, &mut [T])

      where\n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Reorders the slice with a key extraction function such that the element at index after the\n 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 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. This\n function is also known as \u201ckth element\u201d in other libraries.

      \n

      It returns a triplet of the following from the slice reordered according to the provided key\n extraction function: the subslice prior to index, the element at index, and the subslice\n after index; accordingly, the values in those two subslices will respectively all be\n less-than-or-equal-to 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 ipnsort by Lukas Bergdoll\n-and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n+and Orson Peters, which is also the basis for sort_unstable. The fallback algorithm is\n Median of Medians using Tukey\u2019s Ninther for pivot selection, which guarantees linear runtime\n for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n

      May panic if K: Ord does not implement a total order.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 1, -3, 2];\n@@ -3323,31 +3323,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]);
      \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]);
      \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@@ -3357,31 +3357,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\"]);
      \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]);
      \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.

      \n

      After calling rotate_left, the element previously at index mid will\n 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@@ -3393,15 +3393,15 @@\n a.rotate_left(2);\n assert_eq!(a, ['c', 'd', 'e', 'f', 'a', 'b']);

      \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']);
      \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.

      \n

      After calling rotate_right, the element previously at index\n 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@@ -3413,32 +3413,32 @@\n a.rotate_right(2);\n assert_eq!(a, ['e', 'f', 'a', 'b', 'c', 'd']);

      \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']);
      \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]);
      \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]);
      \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@@ -3455,29 +3455,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!
      \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]);
      \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@@ -3493,28 +3493,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!
      \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]);
      \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@@ -3523,15 +3523,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!\");
      \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@@ -3544,26 +3544,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!
      \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]);
      \n-
      1.30.0 \u00b7 source

      pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

      Transmutes 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])

      Transmutes 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@@ -3575,15 +3575,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 }
      \n-
      1.30.0 \u00b7 source

      pub unsafe fn align_to_mut<U>(&mut self) -> (&mut [T], &mut [U], &mut [T])

      Transmutes 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])

      Transmutes 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@@ -3595,19 +3595,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 }
      \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)

      Splits 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 inherits the same\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)

      Splits 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 inherits the same\n guarantees as that method.

      \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@@ -3636,81 +3636,81 @@\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);

      \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)

      Splits 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)

      Splits 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 inherits the same\n+

      This is a safe wrapper around slice::align_to_mut, so inherits the same\n guarantees as that method.

      \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-
      1.82.0 \u00b7 source

      pub fn is_sorted(&self) -> bool
      where\n- T: PartialOrd,

      Checks if the elements of this slice are sorted.

      \n+
      1.82.0 \u00b7 source

      pub fn is_sorted(&self) -> bool
      where\n+ T: PartialOrd,

      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
      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());
      \n-
      1.82.0 \u00b7 source

      pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
      where\n- F: FnMut(&'a T, &'a T) -> bool,

      Checks if the elements of this slice are sorted using the given comparator function.

      \n+
      1.82.0 \u00b7 source

      pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
      where\n+ F: FnMut(&'a T, &'a T) -> bool,

      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
      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));
      \n-
      1.82.0 \u00b7 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,

      Checks if the elements of this slice are sorted using the given key extraction function.

      \n+
      1.82.0 \u00b7 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,

      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
      assert!([\"c\", \"bb\", \"aaa\"].is_sorted_by_key(|s| s.len()));\n assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
      \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)));
      \n@@ -3725,16 +3725,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]);
      \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@@ -3762,16 +3762,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));
      \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@@ -3799,100 +3799,100 @@\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));
      \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');
      \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');
      \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');
      \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');
      \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]);
      \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]);
      \n-
      source

      pub fn elem_offset(&self, element: &T) -> Option<usize>

      \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

      Returns the index that an element reference points to.

      \n+
      source

      pub fn elem_offset(&self, element: &T) -> Option<usize>

      \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

      Returns the index that an element reference points to.

      \n

      Returns None if element does not point within the slice or if it points between elements.

      \n-

      This method is useful for extending slice iterators like slice::split.

      \n+

      This method is useful for extending slice iterators like slice::split.

      \n

      Note that this uses pointer arithmetic and does not compare elements.\n To find the index of an element via comparison, use\n-.iter().position() instead.

      \n+.iter().position() instead.

      \n
      \u00a7Panics
      \n

      Panics if T is zero-sized.

      \n
      \u00a7Examples
      \n

      Basic usage:

      \n \n
      #![feature(substr_range)]\n \n@@ -3912,20 +3912,20 @@\n let weird_elm: &[u32; 2] = flat_arr[1..3].try_into().unwrap();\n \n assert_eq!(ok_elm, &[0, 1]);\n assert_eq!(weird_elm, &[1, 2]);\n \n assert_eq!(arr.elem_offset(ok_elm), Some(0)); // Points to element 0\n assert_eq!(arr.elem_offset(weird_elm), None); // Points between element 0 and 1
      \n-
      source

      pub fn subslice_range(&self, subslice: &[T]) -> Option<Range<usize>>

      \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

      Returns the range of indices that a subslice points to.

      \n+
      source

      pub fn subslice_range(&self, subslice: &[T]) -> Option<Range<usize>>

      \ud83d\udd2cThis is a nightly-only experimental API. (substr_range #126769)

      Returns the range of indices that a subslice points to.

      \n

      Returns None if subslice does not point within the slice or if it points between elements.

      \n

      This method does not compare elements. Instead, this method finds the location in the slice that\n subslice was obtained from. To find the index of a subslice via comparison, instead use\n-.windows().position().

      \n-

      This method is useful for extending slice iterators like slice::split.

      \n+.windows().position().

      \n+

      This method is useful for extending slice iterators like slice::split.

      \n

      Note that this may return a false positive (either Some(0..0) or Some(self.len()..self.len()))\n if subslice has a length of zero and points to the beginning or end of another, separate, slice.

      \n
      \u00a7Panics
      \n

      Panics if T is zero-sized.

      \n
      \u00a7Examples
      \n

      Basic usage:

      \n \n@@ -3937,15 +3937,15 @@\n .split(|t| *t == 0)\n .map(|n| nums.subslice_range(n).unwrap());\n \n assert_eq!(iter.next(), Some(0..0));\n assert_eq!(iter.next(), Some(1..3));\n assert_eq!(iter.next(), Some(4..4));\n assert_eq!(iter.next(), Some(5..6));
      \n-
      1.80.0 \u00b7 source

      pub fn as_flattened(&self) -> &[T]

      Takes a &[[T; N]], and flattens it to a &[T].

      \n+
      1.80.0 \u00b7 source

      pub fn as_flattened(&self) -> &[T]

      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
      assert_eq!([[1, 2, 3], [4, 5, 6]].as_flattened(), &[1, 2, 3, 4, 5, 6]);\n@@ -3956,15 +3956,15 @@\n );\n \n let slice_of_empty_arrays: &[[i32; 0]] = &[[], [], [], [], []];\n assert!(slice_of_empty_arrays.as_flattened().is_empty());\n \n let empty_slice_of_arrays: &[[u32; 10]] = &[];\n assert!(empty_slice_of_arrays.as_flattened().is_empty());
      \n-
      1.80.0 \u00b7 source

      pub fn as_flattened_mut(&mut self) -> &mut [T]

      Takes a &mut [[T; N]], and flattens it to a &mut [T].

      \n+
      1.80.0 \u00b7 source

      pub fn as_flattened_mut(&mut self) -> &mut [T]

      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
      fn add_5_to_all(slice: &mut [i32]) {\n@@ -3972,41 +3972,41 @@\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.as_flattened_mut());\n assert_eq!(array, [[6, 7, 8], [9, 10, 11], [12, 13, 14]]);
      \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 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());
      \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());
      \n-
      1.79.0 \u00b7 source

      pub fn utf8_chunks(&self) -> Utf8Chunks<'_> \u24d8

      Creates an iterator over the contiguous valid UTF-8 ranges of this\n+

      1.79.0 \u00b7 source

      pub fn utf8_chunks(&self) -> Utf8Chunks<'_> \u24d8

      Creates an iterator over the contiguous valid UTF-8 ranges of this\n slice, and the non-UTF-8 fragments in between.

      \n

      See the Utf8Chunk type for documenation of the items yielded by this iterator.

      \n
      \u00a7Examples
      \n

      This function formats arbitrary but mostly-UTF-8 bytes into Rust source\n code in the form of a C-string literal (c\"...\").

      \n \n
      use std::fmt::Write as _;\n@@ -4028,15 +4028,15 @@\n }\n \n fn main() {\n     let lit = cstr_literal(b\"\\xferris the \\xf0\\x9f\\xa6\\x80\\x07\");\n     let expected = stringify!(c\"\\xFErris the \ud83e\udd80\\u{7}\");\n     assert_eq!(lit, expected);\n }
      \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.
      1.0.0 \u00b7 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.
      1.0.0 \u00b7 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.
      1.0.0 \u00b7 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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>

      source\u00a7

      fn clone_from(&mut self, source: &Self)

      Overwrites the contents of self with a clone of the contents of source.

      \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.
      1.0.0 \u00b7 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.
      1.0.0 \u00b7 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.
      1.0.0 \u00b7 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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>

      source\u00a7

      fn clone_from(&mut self, source: &Self)

      Overwrites the contents of self with a clone of the contents of source.

      \n

      This method is preferred over simply assigning source.clone() to self,\n as it avoids reallocation if possible. Additionally, if the element type\n T overrides clone_from(), this will reuse the resources of self\u2019s\n elements as well.

      \n
      \u00a7Examples
      \n
      let x = vec![5, 6, 7];\n let mut y = vec![8, 9, 10];\n@@ -4045,99 +4045,99 @@\n y.clone_from(&x);\n \n // The value is the same\n assert_eq!(x, y);\n \n // And no reallocation occurred\n assert_eq!(yp, y.as_ptr());
      \n-
      source\u00a7

      fn clone(&self) -> Self

      Returns a copy of the value. Read more
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T> Default for Vec<T>

      source\u00a7

      fn default() -> Vec<T>

      Creates an empty Vec<T>.

      \n+
      source\u00a7

      fn clone(&self) -> Self

      Returns a copy of the value. Read more
      1.0.0 \u00b7 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
      1.0.0 \u00b7 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-
      1.0.0 \u00b7 source\u00a7

      impl<T, A: Allocator> Deref for Vec<T, A>

      source\u00a7

      type Target = [T]

      The resulting type after dereferencing.
      source\u00a7

      fn deref(&self) -> &[T]

      Dereferences the value.
      1.0.0 \u00b7 source\u00a7

      impl<T, A: Allocator> DerefMut for Vec<T, A>

      source\u00a7

      fn deref_mut(&mut self) -> &mut [T]

      Mutably dereferences the value.
      1.0.0 \u00b7 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+

      1.0.0 \u00b7 source\u00a7

      impl<T, A: Allocator> Deref for Vec<T, A>

      source\u00a7

      type Target = [T]

      The resulting type after dereferencing.
      source\u00a7

      fn deref(&self) -> &[T]

      Dereferences the value.
      1.0.0 \u00b7 source\u00a7

      impl<T, A: Allocator> DerefMut for Vec<T, A>

      source\u00a7

      fn deref_mut(&mut self) -> &mut [T]

      Mutably dereferences the value.
      1.0.0 \u00b7 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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T: Clone> From<&[T]> for Vec<T>

      source\u00a7

      fn from(s: &[T]) -> Vec<T>

      Allocates a Vec<T> and fills 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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T: Clone> From<&[T]> for Vec<T>

      source\u00a7

      fn from(s: &[T]) -> Vec<T>

      Allocates a Vec<T> and fills it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
      \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>

      Allocates a Vec<T> and fills 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>

      Allocates a Vec<T> and fills it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
      \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>

      Allocates a Vec<T> and fills 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>

      Allocates a Vec<T> and fills it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
      \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>

      Allocates a Vec<T> and fills 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>

      Allocates a Vec<T> and fills it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
      \n-
      1.0.0 \u00b7 source\u00a7

      impl From<&str> for Vec<u8>

      source\u00a7

      fn from(s: &str) -> Vec<u8>

      Allocates a Vec<u8> and fills it with a UTF-8 string.

      \n+
      1.0.0 \u00b7 source\u00a7

      impl From<&str> for Vec<u8>

      source\u00a7

      fn from(s: &str) -> Vec<u8>

      Allocates a Vec<u8> and fills it with a UTF-8 string.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(\"123\"), vec![b'1', b'2', b'3']);
      \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>

      Allocates a Vec<T> and moves 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>

      Allocates a Vec<T> and moves s\u2019s items into it.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
      \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

      Converts 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

      Converts 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]);
      \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>

      Converts 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>

      Converts 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));
      \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 }
      \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>

      Allocates a reference-counted slice and moves 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>

      Allocates a reference-counted slice and moves 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[..]);
      \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

      Converts 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

      Converts 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());
      \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());
      \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>

      Allocates a reference-counted slice and moves 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>

      Allocates a reference-counted slice and moves 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[..]);
      \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@@ -4150,24 +4150,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);
      \n-
      1.0.0 \u00b7 source\u00a7

      impl<T> FromIterator<T> for Vec<T>

      Collects an iterator into a Vec, commonly called via Iterator::collect()

      \n+
      1.0.0 \u00b7 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@@ -4187,82 +4187,82 @@\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 }
      \n-
      source\u00a7

      fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T>

      Creates a value from an iterator. Read more
      1.0.0 \u00b7 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
      1.0.0 \u00b7 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));
      \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
      1.0.0 \u00b7 source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>

      source\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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>

      source\u00a7

      type Item = &'a T

      The type of the elements being iterated over.
      source\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
      1.0.0 \u00b7 source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>

      source\u00a7

      type Item = &'a mut T

      The type of the elements being iterated over.
      source\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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>

      source\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
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>

      source\u00a7

      type Item = &'a T

      The type of the elements being iterated over.
      source\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
      1.0.0 \u00b7 source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>

      source\u00a7

      type Item = &'a mut T

      The type of the elements being iterated over.
      source\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
      1.0.0 \u00b7 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);
      \n-
      source\u00a7

      type Item = T

      The type of the elements being iterated over.
      source\u00a7

      type IntoIter = IntoIter<T, A>

      Which kind of iterator are we turning this into?
      1.0.0 \u00b7 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,

      Restrict a value to a certain interval. Read more
      1.0.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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&[U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&[U; N]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&mut [U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &[U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &[U; N]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A2>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n-and should not be overridden without very good reason.
      1.0.0 \u00b7 source\u00a7

      impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
      where\n- T: PartialOrd,\n+

      source\u00a7

      type Item = T

      The type of the elements being iterated over.
      source\u00a7

      type IntoIter = IntoIter<T, A>

      Which kind of iterator are we turning this into?
      1.0.0 \u00b7 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,

      Restrict a value to a certain interval. Read more
      1.0.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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&[U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&[U; N]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &&mut [U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &[U]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &[U; N]) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A2>) -> bool

      Tests for !=. The default implementation is almost always sufficient,\n+and should not be overridden without very good reason.
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      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

      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

      Tests greater than (for self and other) and is used by the >\n-operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\n-the >= 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
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      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

      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

      Tests greater than (for self and other) and is used by the >\n+operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\n+the >= 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);
      \n-
      source\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+

      source\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([]));
      \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@@ -4272,31 +4272,31 @@\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');
      \n-
      source\u00a7

      type Error = Vec<T, A>

      The type returned in the event of a conversion error.
      source\u00a7

      impl<T, A: Allocator> DerefPure for Vec<T, A>

      1.0.0 \u00b7 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> CloneToUninit for T
      where\n- T: Clone,

      source\u00a7

      unsafe fn clone_to_uninit(&self, dst: *mut T)

      \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
      Performs copy-assignment from self to dst. Read more
      source\u00a7

      impl<T> From<T> for T

      source\u00a7

      fn from(t: T) -> T

      Returns the argument unchanged.

      \n-
      source\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

      type Error = Vec<T, A>

      The type returned in the event of a conversion error.
      source\u00a7

      impl<T, A: Allocator> DerefPure for Vec<T, A>

      1.0.0 \u00b7 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> CloneToUninit for T
      where\n+ T: Clone,

      source\u00a7

      unsafe fn clone_to_uninit(&self, dst: *mut T)

      \ud83d\udd2cThis is a nightly-only experimental API. (clone_to_uninit #126799)
      Performs copy-assignment from self to dst. Read more
      source\u00a7

      impl<T> From<T> for T

      source\u00a7

      fn from(t: T) -> T

      Returns the argument unchanged.

      \n+
      source\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,

      source\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>,

      source\u00a7

      type Error = Infallible

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

      Performs the conversion.
      source\u00a7

      impl<T, U> TryInto<U> for T
      where\n- U: TryFrom<T>,

      source\u00a7

      type Error = <U as TryFrom<T>>::Error

      The type returned 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,
      source\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>,

      source\u00a7

      type Error = Infallible

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

      Performs the conversion.
      source\u00a7

      impl<T, U> TryInto<U> for T
      where\n+ U: TryFrom<T>,

      source\u00a7

      type Error = <U as TryFrom<T>>::Error

      The type returned 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-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js", "source2": "./usr/share/doc/rust-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,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[670,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[802,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,24 +1,24 @@\n (function() {\n var implementors = Object.fromEntries([\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 if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[3014,12,666]}\n+//{\"start\":57,\"fragment_lengths\":[3245,12,666]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1246,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[1345,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,56 +1,56 @@\n (function() {\n var implementors = Object.fromEntries([\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<'a, K: Clone + 'a> Clone for Cursor<'a, K>\"],\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<'a, K: Clone + 'a> Clone for Cursor<'a, K>\"],\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@@ -161,8 +161,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[18940,12,2931,18639,4292]}\n+//{\"start\":57,\"fragment_lengths\":[21844,12,2931,18639,4292]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Eq.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -79,8 +79,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[6987,12,650,9721,1700]}\n+//{\"start\":57,\"fragment_lengths\":[8109,12,650,9721,1700]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Ord.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -30,8 +30,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[5308,12,2371]}\n+//{\"start\":57,\"fragment_lengths\":[6199,12,2371]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialEq.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -169,8 +169,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[23116,12,1373,31461,3288]}\n+//{\"start\":57,\"fragment_lengths\":[27043,12,1373,31461,3288]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialOrd.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -80,8 +80,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[6049,12,22141]}\n+//{\"start\":57,\"fragment_lengths\":[6940,12,22141]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,18 +1,18 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1679,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[1910,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsRef.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -40,8 +40,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[5235,12,6252]}\n+//{\"start\":57,\"fragment_lengths\":[6060,12,6252]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.From.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -203,8 +203,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[43187,12,1711,38507]}\n+//{\"start\":57,\"fragment_lengths\":[51371,12,1711,38507]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,23 +1,23 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl<T, A: Allocator, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>\"],\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<Vec<T>> for Box<[T; N]>\"]\n+ [\"impl<T, A: Allocator, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>\"],\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<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 ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2953,12,1151]}\n+//{\"start\":57,\"fragment_lengths\":[3547,12,1151]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,55 +1,55 @@\n (function() {\n var implementors = Object.fromEntries([\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 Rc<str>\"],\n- [\"impl Default for Rc<CStr>\"],\n- [\"impl Default for String\"],\n- [\"impl Default for Arc<str>\"],\n- [\"impl Default for Arc<CStr>\"],\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 RangeMut<'_, K, V>\"],\n- [\"impl<K, V> Default for Values<'_, K, V>\"],\n- [\"impl<K, V> Default for ValuesMut<'_, 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 Iter<'_, 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 Iter<'_, T>\"],\n- [\"impl<T> Default for IterMut<'_, T>\"],\n- [\"impl<T> Default for VecDeque<T>\"],\n- [\"impl<T> Default for Rc<[T]>\"],\n- [\"impl<T> Default for Weak<T>\"],\n- [\"impl<T> Default for Arc<[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 Rc<str>\"],\n+ [\"impl Default for Rc<CStr>\"],\n+ [\"impl Default for String\"],\n+ [\"impl Default for Arc<str>\"],\n+ [\"impl Default for Arc<CStr>\"],\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 RangeMut<'_, K, V>\"],\n+ [\"impl<K, V> Default for Values<'_, K, V>\"],\n+ [\"impl<K, V> Default for ValuesMut<'_, 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 Iter<'_, 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 Iter<'_, T>\"],\n+ [\"impl<T> Default for IterMut<'_, T>\"],\n+ [\"impl<T> Default for VecDeque<T>\"],\n+ [\"impl<T> Default for Rc<[T]>\"],\n+ [\"impl<T> Default for Weak<T>\"],\n+ [\"impl<T> Default for Arc<[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@@ -93,8 +93,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[15372,12,262,9303,724]}\n+//{\"start\":57,\"fragment_lengths\":[17649,12,262,9303,724]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/error/trait.Error.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -43,8 +43,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[3651,12,478,5340]}\n+//{\"start\":57,\"fragment_lengths\":[4212,12,478,5340]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -9,77 +9,77 @@\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> Debug for Cursor<'_, K>\"],\n [\"impl<K: Debug, A> Debug for CursorMut<'_, K, A>\"],\n [\"impl<K: Debug, A> Debug for CursorMutKey<'_, K, 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<T: Debug + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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 + ?Sized, A: Debug + Allocator> Debug for UniqueRc<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, 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, A: Allocator> Debug for Weak<T, A>\"],\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, A: Allocator> Debug for Weak<T, A>\"],\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@@ -300,8 +300,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[37837,12,3083,53568,4203]}\n+//{\"start\":57,\"fragment_lengths\":[39223,12,3083,53568,4203]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Display.js", "source2": "./usr/share/doc/rust-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@@ -70,8 +70,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[5792,12,1826,10314,471]}\n+//{\"start\":57,\"fragment_lengths\":[6023,12,1826,10314,471]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1389,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[1488,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/future/future/trait.Future.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/future/future/trait.Future.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[718,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[850,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hash.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -39,8 +39,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[5413,12,2849,1088]}\n+//{\"start\":57,\"fragment_lengths\":[6304,12,2849,1088]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[575,12,280]}\n+//{\"start\":57,\"fragment_lengths\":[674,12,280]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\n [\"alloc\", [\n- [\"impl Extend<char> 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<A: Allocator> Extend<Box<str, A>> for String\"],\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<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<A: Allocator> Extend<Box<str, A>> for String\"],\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@@ -38,8 +38,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[10013,12,797,4720]}\n+//{\"start\":57,\"fragment_lengths\":[11597,12,797,4720]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,35 +1,35 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl FromIterator<char> for Box<str>\"],\n- [\"impl FromIterator<char> for String\"],\n- [\"impl FromIterator<String> for Box<str>\"],\n- [\"impl FromIterator<String> for String\"],\n- [\"impl<'a> FromIterator<&'a char> for Box<str>\"],\n- [\"impl<'a> FromIterator<&'a char> for String\"],\n- [\"impl<'a> FromIterator<&'a str> for Box<str>\"],\n- [\"impl<'a> FromIterator<&'a str> for String\"],\n- [\"impl<'a> FromIterator<Cow<'a, str>> for Box<str>\"],\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<A: Allocator> FromIterator<Box<str, A>> for Box<str>\"],\n- [\"impl<A: Allocator> FromIterator<Box<str, A>> for String\"],\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 Box<str>\"],\n+ [\"impl FromIterator<char> for String\"],\n+ [\"impl FromIterator<String> for Box<str>\"],\n+ [\"impl FromIterator<String> for String\"],\n+ [\"impl<'a> FromIterator<&'a char> for Box<str>\"],\n+ [\"impl<'a> FromIterator<&'a char> for String\"],\n+ [\"impl<'a> FromIterator<&'a str> for Box<str>\"],\n+ [\"impl<'a> FromIterator<&'a str> for String\"],\n+ [\"impl<'a> FromIterator<Cow<'a, str>> for Box<str>\"],\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<A: Allocator> FromIterator<Box<str, A>> for Box<str>\"],\n+ [\"impl<A: Allocator> FromIterator<Box<str, A>> for String\"],\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@@ -43,8 +43,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[10641,12,833,3236]}\n+//{\"start\":57,\"fragment_lengths\":[12456,12,833,3236]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,29 +1,29 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl<'a, I, A: Allocator> IntoIterator for &'a Box<[I], A>\"],\n- [\"impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], 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<I, A: Allocator> IntoIterator for Box<[I], 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, I, A: Allocator> IntoIterator for &'a Box<[I], A>\"],\n+ [\"impl<'a, I, A: Allocator> IntoIterator for &'a mut Box<[I], 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<I, A: Allocator> IntoIterator for Box<[I], 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@@ -42,8 +42,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[9257,12,303,3425]}\n+//{\"start\":57,\"fragment_lengths\":[10148,12,303,3425]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -40,8 +40,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[12462,12,1066]}\n+//{\"start\":57,\"fragment_lengths\":[13617,12,1066]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -50,8 +50,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[11913,12,4782]}\n+//{\"start\":57,\"fragment_lengths\":[13068,12,4782]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,51 +1,51 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl Iterator for Drain<'_>\"],\n- [\"impl<'a, I, A: Allocator> !Iterator for &'a Box<[I], A>\"],\n- [\"impl<'a, I, A: Allocator> !Iterator for &'a mut Box<[I], A>\"],\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, A: Allocator> !Iterator for Box<[I], 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, I, A: Allocator> !Iterator for &'a Box<[I], A>\"],\n+ [\"impl<'a, I, A: Allocator> !Iterator for &'a mut Box<[I], A>\"],\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, A: Allocator> !Iterator for Box<[I], 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@@ -97,8 +97,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[19276,12,311,14230]}\n+//{\"start\":57,\"fragment_lengths\":[21718,12,311,14230]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -67,8 +67,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[15910,12,9014]}\n+//{\"start\":57,\"fragment_lengths\":[17791,12,9014]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[3019,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[3316,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Copy.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -62,8 +62,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[233,12,878,8097,2683]}\n+//{\"start\":57,\"fragment_lengths\":[266,12,878,8097,2683]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> Freeze for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Freeze,\\n B: ?Sized,
      \", 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> Freeze for Cursor<'a, K>\", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A> Freeze for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A> Freeze for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Freeze,\\n A: 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 V: Freeze,\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
      where\\n K: Freeze,\\n A: 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 F: Freeze,\\n A: 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 F: Freeze,\\n A: 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 ThinBox<T>
      where\\n T: ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T, A> Freeze for Box<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 Rc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Rc\"]],\n- [\"impl<T, A> Freeze for UniqueRc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Freeze for Weak<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> Freeze for Arc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Arc\"]],\n- [\"impl<T, A> Freeze for Weak<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\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 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> Freeze for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Freeze,\\n B: ?Sized,
      \", 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> Freeze for Cursor<'a, K>\", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A> Freeze for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A> Freeze for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Freeze,\\n A: 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 V: Freeze,\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
      where\\n K: Freeze,\\n A: 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 F: Freeze,\\n A: 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 F: Freeze,\\n A: 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 ThinBox<T>
      where\\n T: ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T, A> Freeze for Box<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 Rc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Rc\"]],\n+ [\"impl<T, A> Freeze for UniqueRc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Freeze for Weak<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> Freeze for Arc<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Arc\"]],\n+ [\"impl<T, A> Freeze for Weak<T, A>
      where\\n A: Freeze,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\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 ]],\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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[30795,12,3904,60187,5753]}\n+//{\"start\":57,\"fragment_lengths\":[34722,12,3904,60187,5753]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> Send for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Send,\\n B: Sync + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Send for Splice<'a, I, A>
      where\\n I: Send,\\n <I as Iterator>::Item: Send,\\n A: Send,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K> Send for Cursor<'a, K>
      where\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A> Send for CursorMut<'a, K, A>
      where\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A> Send for CursorMutKey<'a, K, A>
      where\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Send,\\n A: 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 V: Send,\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
      where\\n K: Send,\\n A: 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 F: Send,\\n A: 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 T: Send,\\n A: 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 T: Sync,\\n A: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Send for Intersection<'a, T, A>
      where\\n T: Sync,\\n A: 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 F: Send,\\n A: 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 F: Send,\\n A: 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, A = Global> !Send for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Send for Box<T, A>
      where\\n A: Send,\\n T: Send + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: Send,\\n A: 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 T: Send,\\n A: 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: 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> Send for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Send,\\n B: Sync + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Send for Splice<'a, I, A>
      where\\n I: Send,\\n <I as Iterator>::Item: Send,\\n A: Send,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K> Send for Cursor<'a, K>
      where\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A> Send for CursorMut<'a, K, A>
      where\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A> Send for CursorMutKey<'a, K, A>
      where\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Send,\\n A: 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 V: Send,\\n A: Send,\\n K: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
      where\\n K: Send,\\n A: 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 F: Send,\\n A: 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 T: Send,\\n A: 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 T: Sync,\\n A: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Send for Intersection<'a, T, A>
      where\\n T: Sync,\\n A: 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 F: Send,\\n A: 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 F: Send,\\n A: 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, A = Global> !Send for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Send for Box<T, A>
      where\\n A: Send,\\n T: Send + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: Send,\\n A: 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 T: Send,\\n A: 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: 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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[41084,12,3640,66379,5621]}\n+//{\"start\":57,\"fragment_lengths\":[47948,12,3640,66379,5621]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -67,8 +67,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2687,12,545,8388,3792]}\n+//{\"start\":57,\"fragment_lengths\":[2984,12,545,8388,3792]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> Sync for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Sync,\\n B: Sync + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Sync for Splice<'a, I, A>
      where\\n I: Sync,\\n <I as Iterator>::Item: Sync,\\n A: Sync,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K> Sync for Cursor<'a, K>
      where\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A> Sync for CursorMut<'a, K, A>
      where\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A> Sync for CursorMutKey<'a, K, A>
      where\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Sync,\\n A: 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 V: Sync,\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
      where\\n K: Sync,\\n A: 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 F: Sync,\\n A: 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 T: Sync,\\n A: 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 T: Sync,\\n A: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Sync for Intersection<'a, T, A>
      where\\n T: Sync,\\n A: 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 F: Sync,\\n A: 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 F: Sync,\\n A: 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, A = Global> !Sync for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Sync for Box<T, A>
      where\\n A: Sync,\\n T: Sync + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: Sync,\\n A: 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 T: Sync,\\n A: 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: 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> Sync for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Sync,\\n B: Sync + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Sync for Splice<'a, I, A>
      where\\n I: Sync,\\n <I as Iterator>::Item: Sync,\\n A: Sync,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K> Sync for Cursor<'a, K>
      where\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A> Sync for CursorMut<'a, K, A>
      where\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A> Sync for CursorMutKey<'a, K, A>
      where\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Sync,\\n A: 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 V: Sync,\\n A: Sync,\\n K: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
      where\\n K: Sync,\\n A: 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 F: Sync,\\n A: 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 T: Sync,\\n A: 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 T: Sync,\\n A: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Sync for Intersection<'a, T, A>
      where\\n T: Sync,\\n A: 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 F: Sync,\\n A: 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 F: Sync,\\n A: 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, A = Global> !Sync for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Sync for Box<T, A>
      where\\n A: Sync,\\n T: Sync + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: Sync,\\n A: 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 T: Sync,\\n A: 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: 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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[41084,12,3640,67025,5623]}\n+//{\"start\":57,\"fragment_lengths\":[47948,12,3640,67025,5623]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> Unpin for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Unpin,\\n B: ?Sized,
      \", 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> Unpin for Cursor<'a, K>\", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A> Unpin for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A> Unpin for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Unpin,\\n A: 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 V: Unpin,\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
      where\\n K: Unpin,\\n A: 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 F: Unpin,\\n A: 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 F: Unpin,\\n A: 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 ThinBox<T>
      where\\n T: Unpin + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\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 T: Unpin,\\n A: 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 UniqueRc<T, A>
      where\\n A: Unpin,\\n T: Unpin + ?Sized,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Unpin for Weak<T, A>
      where\\n A: Unpin,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> Unpin for Weak<T, A>
      where\\n A: Unpin,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n T: Unpin,\\n A: 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, 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> Unpin for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Unpin,\\n B: ?Sized,
      \", 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> Unpin for Cursor<'a, K>\", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A> Unpin for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A> Unpin for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: Unpin,\\n A: 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 V: Unpin,\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
      where\\n K: Unpin,\\n A: 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 F: Unpin,\\n A: 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 F: Unpin,\\n A: 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 ThinBox<T>
      where\\n T: Unpin + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\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 T: Unpin,\\n A: 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 UniqueRc<T, A>
      where\\n A: Unpin,\\n T: Unpin + ?Sized,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Unpin for Weak<T, A>
      where\\n A: Unpin,\\n T: ?Sized,
      \", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> Unpin for Weak<T, A>
      where\\n A: Unpin,\\n T: ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n T: Unpin,\\n A: 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, 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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[31281,12,3859,61807,5687]}\n+//{\"start\":57,\"fragment_lengths\":[35406,12,3859,61807,5687]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Add.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Add.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = Object.fromEntries([\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 if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[990,12,667]}\n+//{\"start\":57,\"fragment_lengths\":[1221,12,667]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = Object.fromEntries([\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 if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1044,12,703]}\n+//{\"start\":57,\"fragment_lengths\":[1275,12,703]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Sub.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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@@ -13,8 +13,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[891,12,1867]}\n+//{\"start\":57,\"fragment_lengths\":[1023,12,1867]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[773,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[905,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[791,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[923,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[797,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[929,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[896,12,1011]}\n+//{\"start\":57,\"fragment_lengths\":[1028,12,1011]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOr.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOr.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[893,12,1008]}\n+//{\"start\":57,\"fragment_lengths\":[1025,12,1008]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXor.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXor.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[896,12,1011]}\n+//{\"start\":57,\"fragment_lengths\":[1028,12,1011]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,16 +1,16 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1549,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[1813,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.Deref.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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, 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 UniqueRc<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, 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 UniqueRc<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@@ -30,8 +30,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[4334,12,3838]}\n+//{\"start\":57,\"fragment_lengths\":[4895,12,3838]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\n [\"alloc\", [\n- [\"impl DerefMut for String\"],\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<T: ?Sized, A: Allocator> DerefMut for UniqueRc<T, A>\"]\n+ [\"impl DerefMut for String\"],\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<T: ?Sized, A: Allocator> DerefMut for UniqueRc<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@@ -21,8 +21,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2469,12,2205]}\n+//{\"start\":57,\"fragment_lengths\":[2799,12,2205]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefPure.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefPure.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl DerefPure for String\"],\n- [\"impl<B: ?Sized + ToOwned> DerefPure for Cow<'_, B>
      where\\n B::Owned: Borrow<B>,
      \"],\n- [\"impl<T, A: Allocator> DerefPure for Vec<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> DerefPure for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> DerefPure for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> DerefPure for Arc<T, A>\"]\n+ [\"impl DerefPure for String\"],\n+ [\"impl<B: ?Sized + ToOwned> DerefPure for Cow<'_, B>
      where\\n B::Owned: Borrow<B>,
      \"],\n+ [\"impl<T, A: Allocator> DerefPure for Vec<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> DerefPure for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> DerefPure for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> DerefPure for Arc<T, A>\"]\n ]],\n [\"core\", []],\n [\"std\", []]\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2832,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[3162,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/trait.Drop.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\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, 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 UniqueRc<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, 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 UniqueRc<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@@ -46,8 +46,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[9161,12,5149]}\n+//{\"start\":57,\"fragment_lengths\":[10349,12,5149]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.Fn.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.Fn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[719,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[851,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnMut.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[737,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[869,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnOnce.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/trait.FnOnce.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[743,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[875,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.Index.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.Index.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,22 +1,22 @@\n (function() {\n var implementors = Object.fromEntries([\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 if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2965,12,1458]}\n+//{\"start\":57,\"fragment_lengths\":[3427,12,1458]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.IndexMut.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.IndexMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,19 +1,19 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[1569,12,351]}\n+//{\"start\":57,\"fragment_lengths\":[1767,12,351]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = Object.fromEntries([\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<UniqueRc<U, A>> for UniqueRc<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<UniqueRc<U, A>> for UniqueRc<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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[5031,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[5823,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,19 +1,19 @@\n (function() {\n var implementors = Object.fromEntries([\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 window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[3690,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[4350,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> RefUnwindSafe for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: RefUnwindSafe,\\n B: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
      where\\n I: RefUnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K> RefUnwindSafe for Cursor<'a, K>
      where\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A> RefUnwindSafe for CursorMut<'a, K, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A> RefUnwindSafe for CursorMutKey<'a, K, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: RefUnwindSafe,\\n A: 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 V: RefUnwindSafe,\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
      where\\n K: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n- [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n F: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 ThinBox<T>
      where\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T, A = Global> !RefUnwindSafe for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A = Global> !RefUnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> RefUnwindSafe for Box<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: RefUnwindSafe,\\n A: 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 Arc<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Arc\"]],\n- [\"impl<T, A> RefUnwindSafe for Weak<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 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> RefUnwindSafe for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: RefUnwindSafe,\\n B: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
      where\\n I: RefUnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K> RefUnwindSafe for Cursor<'a, K>
      where\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A> RefUnwindSafe for CursorMut<'a, K, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A> RefUnwindSafe for CursorMutKey<'a, K, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 K: RefUnwindSafe,\\n A: 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 V: RefUnwindSafe,\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
      where\\n K: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n+ [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n F: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 F: RefUnwindSafe,\\n A: 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 ThinBox<T>
      where\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T, A = Global> !RefUnwindSafe for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A = Global> !RefUnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> RefUnwindSafe for Box<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: RefUnwindSafe,\\n A: 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 Arc<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Arc\"]],\n+ [\"impl<T, A> RefUnwindSafe for Weak<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 ]],\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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[51398,12,4564,73275,6723]}\n+//{\"start\":57,\"fragment_lengths\":[58328,12,4564,73275,6723]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,85 +1,85 @@\n (function() {\n var implementors = Object.fromEntries([\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> UnwindSafe for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: UnwindSafe,\\n B: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
      where\\n I: UnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K> UnwindSafe for Cursor<'a, K>
      where\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n- [\"impl<'a, K, A = Global> !UnwindSafe for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n- [\"impl<'a, K, A = Global> !UnwindSafe for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 ThinBox<T>
      where\\n T: UnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T, A = Global> !UnwindSafe for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A = Global> !UnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> UnwindSafe for Box<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: RefUnwindSafe + UnwindSafe,\\n A: UnwindSafe,
      \", 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: RefUnwindSafe + UnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for LinkedList<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe + UnwindSafe,
      \", 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 Weak<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n T: RefUnwindSafe + UnwindSafe,\\n A: UnwindSafe,
      \", 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 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> UnwindSafe for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: UnwindSafe,\\n B: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
      where\\n I: UnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K> UnwindSafe for Cursor<'a, K>
      where\\n K: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Cursor\"]],\n+ [\"impl<'a, K, A = Global> !UnwindSafe for CursorMut<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMut\"]],\n+ [\"impl<'a, K, A = Global> !UnwindSafe for CursorMutKey<'a, K, A>\", 1, [\"alloc::collections::btree::set::CursorMutKey\"]],\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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 T: RefUnwindSafe,\\n A: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n T: RefUnwindSafe,\\n A: 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 ThinBox<T>
      where\\n T: UnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T, A = Global> !UnwindSafe for UniqueRc<T, A>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A = Global> !UnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> UnwindSafe for Box<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + ?Sized,
      \", 1, [\"alloc::boxed::Box\"]],\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 T: RefUnwindSafe + UnwindSafe,\\n A: UnwindSafe,
      \", 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: RefUnwindSafe + UnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for LinkedList<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe + UnwindSafe,
      \", 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 Weak<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe + ?Sized,
      \", 1, [\"alloc::sync::Weak\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n T: RefUnwindSafe + UnwindSafe,\\n A: UnwindSafe,
      \", 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 ]],\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@@ -318,8 +318,8 @@\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[44525,12,4429,67109,6525]}\n+//{\"start\":57,\"fragment_lengths\":[50003,12,4429,67109,6525]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js", "source2": "./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = Object.fromEntries([\n [\"alloc\", [\n- [\"impl<T: ?Sized> PinCoerceUnsized for UniqueRc<T>\"],\n- [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Arc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A>\"]\n+ [\"impl<T: ?Sized> PinCoerceUnsized for UniqueRc<T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Arc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A>\"]\n ]],\n [\"core\", []],\n [\"std\", []]\n ]);\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n window.pending_implementors = implementors;\n }\n })()\n-//{\"start\":57,\"fragment_lengths\":[2813,12,11]}\n+//{\"start\":57,\"fragment_lengths\":[3209,12,11]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js", "source2": "./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,19 +1,19 @@\n (function() {\n var type_impls = Object.fromEntries([\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- [\"
      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
      \", \"Display\", \"alloc::alloc::LayoutErr\"],\n- [\"
      1.28.0 \u00b7 source\u00a7

      impl Error for LayoutError

      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      Returns 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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand 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+ [\"
      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
      \", \"Display\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      1.28.0 \u00b7 source\u00a7

      impl Error for LayoutError

      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      Returns 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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand 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 })()\n-//{\"start\":55,\"fragment_lengths\":[13350]}\n+//{\"start\":55,\"fragment_lengths\":[14934]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js", "source2": "./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,23 +1,23 @@\n (function() {\n var type_impls = Object.fromEntries([\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)>

      Returns 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,

      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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand 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

      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

      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

      Tests greater than (for self and other) and is used by the >\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\\nthe >= operator. 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)>

      Returns 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,

      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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand 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

      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

      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

      Tests greater than (for self and other) and is used by the >\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\\nthe >= operator. 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 })()\n-//{\"start\":55,\"fragment_lengths\":[26243]}\n+//{\"start\":55,\"fragment_lengths\":[30566]}\n"}]}, {"source1": "./usr/share/doc/rust-doc/html/type.impl/core/result/enum.Result.js", "source2": "./usr/share/doc/rust-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 = Object.fromEntries([\n [\"alloc\", [\n- [\"
      1.0.0 \u00b7 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- [\"
      1.0.0 \u00b7 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- [\"
      1.0.0 \u00b7 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]));
      \\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!\\\"));
      \\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);
      \\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- [\"
      1.0.0 \u00b7 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- [\"
      1.0.0 \u00b7 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, []);
      \\n
      source\u00a7

      type Item = T

      The type of the elements being iterated over.
      source\u00a7

      type IntoIter = IntoIter<T>

      Which kind of iterator are we turning this into?
      \", \"IntoIterator\", \"alloc::fmt::Result\"],\n- [\"
      1.0.0 \u00b7 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,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::fmt::Result\"],\n- [\"
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::fmt::Result\"],\n- [\"
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      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

      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

      Tests greater than (for self and other) and is used by the >\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\\nthe >= operator. 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());
      \\n
      \", \"Product>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Result<T, E>

      1.0.0 (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);
      \\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);
      \\n
      1.0.0 (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);
      \\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);
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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\\\"));
      \\n
      1.0.0 (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\\\"));
      \\n
      1.0.0 (const: 1.83.0) \u00b7 source

      pub const 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);
      \\n
      1.0.0 \u00b7 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}
      \\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);
      \\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);
      \\n
      1.0.0 \u00b7 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()));
      \\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\\\");
      \\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}
      \\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);
      \\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);
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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);
      \\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`
      \\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`\\\");
      \\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
      1.0.0 \u00b7 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);
      \\n\\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.unwrap(); // panics with `emergency failure`
      \\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);
      \\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`
      \\n
      1.0.0 \u00b7 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`
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(x.unwrap_err(), \\\"emergency failure\\\");
      \\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}\\\");
      \\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}\\\");
      \\n
      1.0.0 \u00b7 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\\\"));
      \\n
      1.0.0 \u00b7 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\\\"));
      \\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);
      \\n
      1.0.0 \u00b7 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));
      \\n
      1.0.0 \u00b7 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));
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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);
      \\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);
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
      \\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!
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \\\"emergency failure\\\");
      \\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\\\"));
      \\n
      \", \"Sum>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Try for Result<T, E>

      source\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.
      source\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- [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> Copy for Result<T, E>
      where\\n T: Copy,\\n E: Copy,

      \", \"Copy\", \"alloc::fmt::Result\"],\n- [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> Eq for Result<T, E>
      where\\n T: Eq,\\n E: Eq,

      \", \"Eq\", \"alloc::fmt::Result\"],\n- [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> StructuralPartialEq for Result<T, E>

      \", \"StructuralPartialEq\", \"alloc::fmt::Result\"]\n+ [\"
      1.0.0 \u00b7 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+ [\"
      1.0.0 \u00b7 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+ [\"
      1.0.0 \u00b7 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]));
      \\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!\\\"));
      \\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);
      \\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+ [\"
      1.0.0 \u00b7 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+ [\"
      1.0.0 \u00b7 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, []);
      \\n
      source\u00a7

      type Item = T

      The type of the elements being iterated over.
      source\u00a7

      type IntoIter = IntoIter<T>

      Which kind of iterator are we turning this into?
      \", \"IntoIterator\", \"alloc::fmt::Result\"],\n+ [\"
      1.0.0 \u00b7 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,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::fmt::Result\"],\n+ [\"
      1.0.0 \u00b7 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

      Tests for self and other values to be equal, and is used by ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      Tests for !=. The default implementation is almost always sufficient,\\nand should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::fmt::Result\"],\n+ [\"
      1.0.0 \u00b7 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
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      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

      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

      Tests greater than (for self and other) and is used by the >\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      Tests greater than or equal to (for self and other) and is used by\\nthe >= operator. 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());
      \\n
      \", \"Product>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Result<T, E>

      1.0.0 (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);
      \\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);
      \\n
      1.0.0 (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);
      \\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);
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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\\\"));
      \\n
      1.0.0 (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\\\"));
      \\n
      1.0.0 (const: 1.83.0) \u00b7 source

      pub const 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);
      \\n
      1.0.0 \u00b7 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}
      \\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);
      \\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);
      \\n
      1.0.0 \u00b7 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()));
      \\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\\\");
      \\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}
      \\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);
      \\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);
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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);
      \\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`
      \\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`\\\");
      \\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
      1.0.0 \u00b7 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);
      \\n\\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.unwrap(); // panics with `emergency failure`
      \\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);
      \\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`
      \\n
      1.0.0 \u00b7 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`
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(x.unwrap_err(), \\\"emergency failure\\\");
      \\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}\\\");
      \\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}\\\");
      \\n
      1.0.0 \u00b7 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\\\"));
      \\n
      1.0.0 \u00b7 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\\\"));
      \\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);
      \\n
      1.0.0 \u00b7 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));
      \\n
      1.0.0 \u00b7 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));
      \\n
      1.0.0 \u00b7 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);
      \\n
      1.0.0 \u00b7 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);
      \\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);
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
      \\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!
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \\\"emergency failure\\\");
      \\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\\\"));
      \\n
      \", \"Sum>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Try for Result<T, E>

      source\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.
      source\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+ [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> Copy for Result<T, E>
      where\\n T: Copy,\\n E: Copy,

      \", \"Copy\", \"alloc::fmt::Result\"],\n+ [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> Eq for Result<T, E>
      where\\n T: Eq,\\n E: Eq,

      \", \"Eq\", \"alloc::fmt::Result\"],\n+ [\"
      1.0.0 \u00b7 source\u00a7

      impl<T, E> StructuralPartialEq for Result<T, E>

      \", \"StructuralPartialEq\", \"alloc::fmt::Result\"]\n ]],\n [\"core\", [\n [\"
      1.0.0 \u00b7 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 [\"
      1.0.0 \u00b7 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 [\"
      1.0.0 \u00b7 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]));
      \\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!\\\"));
      \\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);
      \\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@@ -41,8 +41,8 @@\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 })()\n-//{\"start\":55,\"fragment_lengths\":[145648,142120]}\n+//{\"start\":55,\"fragment_lengths\":[159607,142120]}\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