{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.EHf9agrb/b1/rustc_1.85.0+dfsg1-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.EHf9agrb/b2/rustc_1.85.0+dfsg1-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -7,15 +7,15 @@\n 58de92f8f1473ae58407fd20310d557d 91350272 libdevel optional libstd-rust-dev-wasm32_1.85.0+dfsg1-1_all.deb\n e614eecad96ab945fe527ffb42a99e29 39286824 libdevel optional libstd-rust-dev_1.85.0+dfsg1-1_amd64.deb\n 96678ad04f83d481e1c2b08177f68a2a 243136 devel optional rust-all_1.85.0+dfsg1-1_all.deb\n 8dbec1df2962ce370272ed91bc5221e3 101391320 debug optional rust-analyzer-dbgsym_1.85.0+dfsg1-1_amd64.deb\n 9f07bf45dbe6a407d5ce0196c2ac1bdd 8260604 devel optional rust-analyzer_1.85.0+dfsg1-1_amd64.deb\n 6a2986f02353155f224ee71a5b93f5a1 61802220 debug optional rust-clippy-dbgsym_1.85.0+dfsg1-1_amd64.deb\n faf58754a9b005109a933864afe5dc99 3321640 devel optional rust-clippy_1.85.0+dfsg1-1_amd64.deb\n- 7f861812f4f87a657cdf4b22b1d8d630 22871640 doc optional rust-doc_1.85.0+dfsg1-1_all.deb\n+ 8d5913a11d945ed52876e3f431d32876 22712900 doc optional rust-doc_1.85.0+dfsg1-1_all.deb\n eec1fa04458aa807c4e9d77173a8efb6 248872 devel optional rust-gdb_1.85.0+dfsg1-1_all.deb\n 732109940b172814af589182d548d849 249800 devel optional rust-lldb_1.85.0+dfsg1-1_all.deb\n 9f425e643148ab95460d71e88be016d6 1762700 devel optional rust-llvm_1.85.0+dfsg1-1_amd64.deb\n af147bf66a3d8a02da93af003e68de7c 46855560 devel optional rust-src_1.85.0+dfsg1-1_all.deb\n 52646b0ead1d517424681ab9ce65898f 34587680 debug optional rustc-dbgsym_1.85.0+dfsg1-1_amd64.deb\n 804232696cd18a26dac1e4384f1c847e 3844884 devel optional rustc_1.85.0+dfsg1-1_amd64.deb\n 793130fa38dbdb5e8c9fbdff23e14a47 23453788 debug optional rustfmt-dbgsym_1.85.0+dfsg1-1_amd64.deb\n"}, {"source1": "rust-doc_1.85.0+dfsg1-1_all.deb", "source2": "rust-doc_1.85.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 2025-02-20 18:23:02.000000 debian-binary\n--rw-r--r-- 0 0 0 948852 2025-02-20 18:23:02.000000 control.tar.xz\n--rw-r--r-- 0 0 0 21922596 2025-02-20 18:23:02.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 948488 2025-02-20 18:23:02.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 21764220 2025-02-20 18:23:02.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.85.0+dfsg1-1\n Architecture: all\n Maintainer: Debian Rust Maintainers \n-Installed-Size: 522371\n+Installed-Size: 524638\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) 9524 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 200493 2025-02-17 18:17:27.000000 ./usr/share/doc/rust-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 147690 2025-02-20 18:12:52.000000 ./usr/share/doc/rust-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/\n -rw-r--r-- 0 root (0) root (0) 19767 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/all.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 6284 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html\n--rw-r--r-- 0 root (0) root (0) 6256 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc_zeroed.html\n--rw-r--r-- 0 root (0) root (0) 4790 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.dealloc.html\n--rw-r--r-- 0 root (0) root (0) 5250 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.handle_alloc_error.html\n--rw-r--r-- 0 root (0) root (0) 5027 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.realloc.html\n+-rw-r--r-- 0 root (0) root (0) 6338 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc.html\n+-rw-r--r-- 0 root (0) root (0) 6310 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.alloc_zeroed.html\n+-rw-r--r-- 0 root (0) root (0) 4844 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.dealloc.html\n+-rw-r--r-- 0 root (0) root (0) 5331 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.handle_alloc_error.html\n+-rw-r--r-- 0 root (0) root (0) 5162 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/fn.realloc.html\n -rw-r--r-- 0 root (0) root (0) 7634 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 209 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 36687 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.AllocError.html\n--rw-r--r-- 0 root (0) root (0) 38726 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Global.html\n--rw-r--r-- 0 root (0) root (0) 60068 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Layout.html\n--rw-r--r-- 0 root (0) root (0) 38552 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.LayoutError.html\n--rw-r--r-- 0 root (0) root (0) 33769 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.Allocator.html\n--rw-r--r-- 0 root (0) root (0) 23991 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.GlobalAlloc.html\n--rw-r--r-- 0 root (0) root (0) 4032 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/type.LayoutErr.html\n+-rw-r--r-- 0 root (0) root (0) 39819 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.AllocError.html\n+-rw-r--r-- 0 root (0) root (0) 41507 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Global.html\n+-rw-r--r-- 0 root (0) root (0) 64172 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.Layout.html\n+-rw-r--r-- 0 root (0) root (0) 41684 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/struct.LayoutError.html\n+-rw-r--r-- 0 root (0) root (0) 35443 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.Allocator.html\n+-rw-r--r-- 0 root (0) root (0) 24720 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/trait.GlobalAlloc.html\n+-rw-r--r-- 0 root (0) root (0) 4059 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/alloc/type.LayoutErr.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/\n--rw-r--r-- 0 root (0) root (0) 176542 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/enum.Cow.html\n+-rw-r--r-- 0 root (0) root (0) 189313 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/enum.Cow.html\n -rw-r--r-- 0 root (0) root (0) 4648 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/index.html\n -rw-r--r-- 0 root (0) root (0) 81 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 24771 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.Borrow.html\n--rw-r--r-- 0 root (0) root (0) 11523 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.BorrowMut.html\n--rw-r--r-- 0 root (0) root (0) 14259 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.ToOwned.html\n+-rw-r--r-- 0 root (0) root (0) 25527 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.Borrow.html\n+-rw-r--r-- 0 root (0) root (0) 12009 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.BorrowMut.html\n+-rw-r--r-- 0 root (0) root (0) 14421 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/borrow/trait.ToOwned.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/\n--rw-r--r-- 0 root (0) root (0) 18338 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/index.html\n+-rw-r--r-- 0 root (0) root (0) 18419 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/index.html\n -rw-r--r-- 0 root (0) root (0) 52 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 550960 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html\n--rw-r--r-- 0 root (0) root (0) 43590 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.ThinBox.html\n+-rw-r--r-- 0 root (0) root (0) 594187 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.Box.html\n+-rw-r--r-- 0 root (0) root (0) 46668 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/thin/\n -rw-r--r-- 0 root (0) root (0) 432 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/boxed/thin/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/\n -rw-r--r-- 0 root (0) root (0) 19432 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/index.html\n -rw-r--r-- 0 root (0) root (0) 116 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 127860 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n--rw-r--r-- 0 root (0) root (0) 161551 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 150605 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n--rw-r--r-- 0 root (0) root (0) 172661 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 157748 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n--rw-r--r-- 0 root (0) root (0) 167216 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 31022 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n+-rw-r--r-- 0 root (0) root (0) 132132 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n+-rw-r--r-- 0 root (0) root (0) 180511 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 168173 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n+-rw-r--r-- 0 root (0) root (0) 192413 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 175940 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n+-rw-r--r-- 0 root (0) root (0) 186656 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 33014 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/\n -rw-r--r-- 0 root (0) root (0) 504 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/map/entry/struct.VacantEntry.html\n@@ -86,271 +86,271 @@\n -rw-r--r-- 0 root (0) root (0) 528 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Intersection.html\n -rw-r--r-- 0 root (0) root (0) 512 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 496 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Iter.html\n -rw-r--r-- 0 root (0) root (0) 500 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Range.html\n -rw-r--r-- 0 root (0) root (0) 556 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.SymmetricDifference.html\n -rw-r--r-- 0 root (0) root (0) 500 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree/set/struct.Union.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/\n--rw-r--r-- 0 root (0) root (0) 40781 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/enum.Entry.html\n+-rw-r--r-- 0 root (0) root (0) 42821 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 10268 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/index.html\n -rw-r--r-- 0 root (0) root (0) 277 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 212388 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n--rw-r--r-- 0 root (0) root (0) 33704 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 40147 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 39426 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n--rw-r--r-- 0 root (0) root (0) 146117 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 165755 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 162061 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n--rw-r--r-- 0 root (0) root (0) 163369 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n--rw-r--r-- 0 root (0) root (0) 167791 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 160558 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 166987 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Keys.html\n--rw-r--r-- 0 root (0) root (0) 39572 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n--rw-r--r-- 0 root (0) root (0) 33391 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n--rw-r--r-- 0 root (0) root (0) 163556 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 156318 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n--rw-r--r-- 0 root (0) root (0) 37691 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n--rw-r--r-- 0 root (0) root (0) 31968 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n--rw-r--r-- 0 root (0) root (0) 167991 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Values.html\n--rw-r--r-- 0 root (0) root (0) 160761 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n+-rw-r--r-- 0 root (0) root (0) 222372 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n+-rw-r--r-- 0 root (0) root (0) 35864 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 42235 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 41514 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n+-rw-r--r-- 0 root (0) root (0) 163901 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 185291 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 181117 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n+-rw-r--r-- 0 root (0) root (0) 182617 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n+-rw-r--r-- 0 root (0) root (0) 187423 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 179614 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 186427 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Keys.html\n+-rw-r--r-- 0 root (0) root (0) 41372 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n+-rw-r--r-- 0 root (0) root (0) 35575 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n+-rw-r--r-- 0 root (0) root (0) 182756 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 174942 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n+-rw-r--r-- 0 root (0) root (0) 40043 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n+-rw-r--r-- 0 root (0) root (0) 33744 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n+-rw-r--r-- 0 root (0) root (0) 187527 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.Values.html\n+-rw-r--r-- 0 root (0) root (0) 179721 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/\n--rw-r--r-- 0 root (0) root (0) 36772 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/enum.Entry.html\n+-rw-r--r-- 0 root (0) root (0) 38452 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 9311 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/index.html\n -rw-r--r-- 0 root (0) root (0) 246 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 193373 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n--rw-r--r-- 0 root (0) root (0) 32722 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 38927 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 38208 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html\n--rw-r--r-- 0 root (0) root (0) 151105 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Difference.html\n--rw-r--r-- 0 root (0) root (0) 145501 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 151243 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Intersection.html\n--rw-r--r-- 0 root (0) root (0) 163171 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 166243 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 31109 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.OccupiedEntry.html\n--rw-r--r-- 0 root (0) root (0) 162048 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 149848 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n--rw-r--r-- 0 root (0) root (0) 148872 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Union.html\n--rw-r--r-- 0 root (0) root (0) 37912 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html\n--rw-r--r-- 0 root (0) root (0) 31809 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.VacantEntry.html\n--rw-r--r-- 0 root (0) root (0) 34935 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n+-rw-r--r-- 0 root (0) root (0) 202205 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n+-rw-r--r-- 0 root (0) root (0) 34714 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 40799 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 40080 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.CursorMutKey.html\n+-rw-r--r-- 0 root (0) root (0) 168865 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Difference.html\n+-rw-r--r-- 0 root (0) root (0) 163117 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 169003 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Intersection.html\n+-rw-r--r-- 0 root (0) root (0) 182419 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 185587 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 32741 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.OccupiedEntry.html\n+-rw-r--r-- 0 root (0) root (0) 180960 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 167392 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n+-rw-r--r-- 0 root (0) root (0) 166416 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Union.html\n+-rw-r--r-- 0 root (0) root (0) 40264 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.UnorderedKeyError.html\n+-rw-r--r-- 0 root (0) root (0) 33489 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.VacantEntry.html\n+-rw-r--r-- 0 root (0) root (0) 37176 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n -rw-r--r-- 0 root (0) root (0) 7035 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/\n -rw-r--r-- 0 root (0) root (0) 6235 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/index.html\n -rw-r--r-- 0 root (0) root (0) 110 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 39043 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 53129 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 142459 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 170917 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 167425 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 159838 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 130851 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n+-rw-r--r-- 0 root (0) root (0) 41203 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 55121 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 159547 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 190645 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 186889 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 178774 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 136731 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n -rw-r--r-- 0 root (0) root (0) 157 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 40007 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/struct.TryReserveError.html\n+-rw-r--r-- 0 root (0) root (0) 42761 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/struct.TryReserveError.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/drain/\n -rw-r--r-- 0 root (0) root (0) 500 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/drain/struct.Drain.html\n -rw-r--r-- 0 root (0) root (0) 5390 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/into_iter/\n -rw-r--r-- 0 root (0) root (0) 512 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter/\n -rw-r--r-- 0 root (0) root (0) 496 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/iter_mut/\n -rw-r--r-- 0 root (0) root (0) 508 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 161812 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 168405 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 170527 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 170242 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 240925 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n+-rw-r--r-- 0 root (0) root (0) 180844 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 187701 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 189775 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 189034 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 250357 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/\n -rw-r--r-- 0 root (0) root (0) 5506 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/index.html\n -rw-r--r-- 0 root (0) root (0) 97 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 139036 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.CString.html\n--rw-r--r-- 0 root (0) root (0) 43596 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n--rw-r--r-- 0 root (0) root (0) 40104 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n--rw-r--r-- 0 root (0) root (0) 41879 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.NulError.html\n--rw-r--r-- 0 root (0) root (0) 10919 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/index.html\n+-rw-r--r-- 0 root (0) root (0) 145900 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 46020 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n+-rw-r--r-- 0 root (0) root (0) 42408 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n+-rw-r--r-- 0 root (0) root (0) 44255 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/c_str/struct.NulError.html\n+-rw-r--r-- 0 root (0) root (0) 11162 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/index.html\n -rw-r--r-- 0 root (0) root (0) 113 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 137164 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.CString.html\n--rw-r--r-- 0 root (0) root (0) 42801 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.FromVecWithNulError.html\n--rw-r--r-- 0 root (0) root (0) 39312 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.IntoStringError.html\n--rw-r--r-- 0 root (0) root (0) 41090 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.NulError.html\n+-rw-r--r-- 0 root (0) root (0) 144886 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 45528 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.FromVecWithNulError.html\n+-rw-r--r-- 0 root (0) root (0) 41904 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.IntoStringError.html\n+-rw-r--r-- 0 root (0) root (0) 43763 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/ffi/struct.NulError.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/\n--rw-r--r-- 0 root (0) root (0) 3489 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/derive.Debug.html\n--rw-r--r-- 0 root (0) root (0) 30778 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html\n--rw-r--r-- 0 root (0) root (0) 30808 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.DebugAsHex.html\n--rw-r--r-- 0 root (0) root (0) 30100 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Sign.html\n--rw-r--r-- 0 root (0) root (0) 5787 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.format.html\n--rw-r--r-- 0 root (0) root (0) 6440 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html\n--rw-r--r-- 0 root (0) root (0) 6603 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html\n--rw-r--r-- 0 root (0) root (0) 66128 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/index.html\n+-rw-r--r-- 0 root (0) root (0) 3516 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/derive.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 33262 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Alignment.html\n+-rw-r--r-- 0 root (0) root (0) 33292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.DebugAsHex.html\n+-rw-r--r-- 0 root (0) root (0) 32584 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/enum.Sign.html\n+-rw-r--r-- 0 root (0) root (0) 5814 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.format.html\n+-rw-r--r-- 0 root (0) root (0) 6548 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.from_fn.html\n+-rw-r--r-- 0 root (0) root (0) 6711 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/fn.write.html\n+-rw-r--r-- 0 root (0) root (0) 66398 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/index.html\n -rw-r--r-- 0 root (0) root (0) 377 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 36873 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html\n--rw-r--r-- 0 root (0) root (0) 34169 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugList.html\n--rw-r--r-- 0 root (0) root (0) 44234 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugMap.html\n--rw-r--r-- 0 root (0) root (0) 34260 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugSet.html\n--rw-r--r-- 0 root (0) root (0) 32716 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugStruct.html\n--rw-r--r-- 0 root (0) root (0) 31453 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugTuple.html\n--rw-r--r-- 0 root (0) root (0) 51564 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Error.html\n--rw-r--r-- 0 root (0) root (0) 84272 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Formatter.html\n--rw-r--r-- 0 root (0) root (0) 52507 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FormattingOptions.html\n--rw-r--r-- 0 root (0) root (0) 25496 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FromFn.html\n--rw-r--r-- 0 root (0) root (0) 20093 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Binary.html\n--rw-r--r-- 0 root (0) root (0) 263224 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Debug.html\n--rw-r--r-- 0 root (0) root (0) 61708 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html\n--rw-r--r-- 0 root (0) root (0) 18656 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html\n--rw-r--r-- 0 root (0) root (0) 19578 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html\n--rw-r--r-- 0 root (0) root (0) 19195 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html\n--rw-r--r-- 0 root (0) root (0) 18193 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Pointer.html\n--rw-r--r-- 0 root (0) root (0) 18657 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html\n--rw-r--r-- 0 root (0) root (0) 19578 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html\n--rw-r--r-- 0 root (0) root (0) 16780 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html\n--rw-r--r-- 0 root (0) root (0) 7277 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/type.Result.html\n--rw-r--r-- 0 root (0) root (0) 11027 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/index.html\n+-rw-r--r-- 0 root (0) root (0) 39357 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Arguments.html\n+-rw-r--r-- 0 root (0) root (0) 36032 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugList.html\n+-rw-r--r-- 0 root (0) root (0) 46286 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugMap.html\n+-rw-r--r-- 0 root (0) root (0) 36123 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugSet.html\n+-rw-r--r-- 0 root (0) root (0) 34579 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugStruct.html\n+-rw-r--r-- 0 root (0) root (0) 33262 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.DebugTuple.html\n+-rw-r--r-- 0 root (0) root (0) 56478 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Error.html\n+-rw-r--r-- 0 root (0) root (0) 87593 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.Formatter.html\n+-rw-r--r-- 0 root (0) root (0) 56179 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FormattingOptions.html\n+-rw-r--r-- 0 root (0) root (0) 27629 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/struct.FromFn.html\n+-rw-r--r-- 0 root (0) root (0) 21416 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Binary.html\n+-rw-r--r-- 0 root (0) root (0) 280504 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 65785 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Display.html\n+-rw-r--r-- 0 root (0) root (0) 19871 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerExp.html\n+-rw-r--r-- 0 root (0) root (0) 20793 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.LowerHex.html\n+-rw-r--r-- 0 root (0) root (0) 20410 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Octal.html\n+-rw-r--r-- 0 root (0) root (0) 19084 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Pointer.html\n+-rw-r--r-- 0 root (0) root (0) 19872 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperExp.html\n+-rw-r--r-- 0 root (0) root (0) 20793 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.UpperHex.html\n+-rw-r--r-- 0 root (0) root (0) 17536 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/trait.Write.html\n+-rw-r--r-- 0 root (0) root (0) 7412 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/fmt/type.Result.html\n+-rw-r--r-- 0 root (0) root (0) 11087 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 340 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format!.html\n--rw-r--r-- 0 root (0) root (0) 6939 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format.html\n+-rw-r--r-- 0 root (0) root (0) 7029 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.format.html\n -rw-r--r-- 0 root (0) root (0) 328 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec!.html\n--rw-r--r-- 0 root (0) root (0) 6168 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec.html\n+-rw-r--r-- 0 root (0) root (0) 6198 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/macro.vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/\n--rw-r--r-- 0 root (0) root (0) 24935 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/index.html\n+-rw-r--r-- 0 root (0) root (0) 25178 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/index.html\n -rw-r--r-- 0 root (0) root (0) 59 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 246760 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Rc.html\n--rw-r--r-- 0 root (0) root (0) 75083 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.UniqueRc.html\n--rw-r--r-- 0 root (0) root (0) 69959 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 256831 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Rc.html\n+-rw-r--r-- 0 root (0) root (0) 79619 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.UniqueRc.html\n+-rw-r--r-- 0 root (0) root (0) 73064 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html\n -rw-r--r-- 0 root (0) root (0) 157 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sidebar-items1.85.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/\n--rw-r--r-- 0 root (0) root (0) 39464 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/enum.GetManyMutError.html\n--rw-r--r-- 0 root (0) root (0) 3728 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut.html\n--rw-r--r-- 0 root (0) root (0) 8159 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 7686 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 13419 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 6111 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 3720 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ref.html\n--rw-r--r-- 0 root (0) root (0) 9400 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.range.html\n--rw-r--r-- 0 root (0) root (0) 7862 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html\n--rw-r--r-- 0 root (0) root (0) 16651 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/index.html\n+-rw-r--r-- 0 root (0) root (0) 42569 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/enum.GetManyMutError.html\n+-rw-r--r-- 0 root (0) root (0) 3809 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut.html\n+-rw-r--r-- 0 root (0) root (0) 8375 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 7902 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 13608 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 6300 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 3801 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.from_ref.html\n+-rw-r--r-- 0 root (0) root (0) 9778 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.range.html\n+-rw-r--r-- 0 root (0) root (0) 8159 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/fn.try_range.html\n+-rw-r--r-- 0 root (0) root (0) 16759 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/index.html\n -rw-r--r-- 0 root (0) root (0) 566 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 169704 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunks.html\n--rw-r--r-- 0 root (0) root (0) 162143 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 167168 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayWindows.html\n--rw-r--r-- 0 root (0) root (0) 157288 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkBy.html\n--rw-r--r-- 0 root (0) root (0) 157210 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkByMut.html\n--rw-r--r-- 0 root (0) root (0) 166428 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Chunks.html\n--rw-r--r-- 0 root (0) root (0) 170551 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 160945 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 158762 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 163430 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.EscapeAscii.html\n--rw-r--r-- 0 root (0) root (0) 174886 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 174808 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 166533 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunks.html\n--rw-r--r-- 0 root (0) root (0) 170663 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 161027 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 158860 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 166122 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 157717 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitMut.html\n--rw-r--r-- 0 root (0) root (0) 149674 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 148875 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 168833 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 166818 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 158403 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n--rw-r--r-- 0 root (0) root (0) 157597 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitMut.html\n--rw-r--r-- 0 root (0) root (0) 149539 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 148740 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 166271 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Windows.html\n--rw-r--r-- 0 root (0) root (0) 11729 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Concat.html\n--rw-r--r-- 0 root (0) root (0) 10760 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html\n--rw-r--r-- 0 root (0) root (0) 48293 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.SliceIndex.html\n+-rw-r--r-- 0 root (0) root (0) 192735 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunks.html\n+-rw-r--r-- 0 root (0) root (0) 184526 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 190010 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ArrayWindows.html\n+-rw-r--r-- 0 root (0) root (0) 179428 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkBy.html\n+-rw-r--r-- 0 root (0) root (0) 179296 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunkByMut.html\n+-rw-r--r-- 0 root (0) root (0) 188946 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 193150 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 182977 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 180713 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.ChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 185570 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.EscapeAscii.html\n+-rw-r--r-- 0 root (0) root (0) 197998 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 197461 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 189051 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunks.html\n+-rw-r--r-- 0 root (0) root (0) 193262 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 183059 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 180811 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 189045 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 179830 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 170572 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 169719 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.RSplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 191918 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 189741 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 180516 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n+-rw-r--r-- 0 root (0) root (0) 179710 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 170437 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 169584 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.SplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 188789 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/struct.Windows.html\n+-rw-r--r-- 0 root (0) root (0) 11972 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Concat.html\n+-rw-r--r-- 0 root (0) root (0) 11111 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.Join.html\n+-rw-r--r-- 0 root (0) root (0) 52532 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/slice/trait.SliceIndex.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/\n--rw-r--r-- 0 root (0) root (0) 5127 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 4629 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 4672 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 9607 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8.html\n--rw-r--r-- 0 root (0) root (0) 6877 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_mut.html\n--rw-r--r-- 0 root (0) root (0) 5526 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 5323 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n--rw-r--r-- 0 root (0) root (0) 15468 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/index.html\n+-rw-r--r-- 0 root (0) root (0) 5181 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 4764 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 4807 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 9850 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8.html\n+-rw-r--r-- 0 root (0) root (0) 6985 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_mut.html\n+-rw-r--r-- 0 root (0) root (0) 5607 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 5404 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n+-rw-r--r-- 0 root (0) root (0) 16035 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/\n--rw-r--r-- 0 root (0) root (0) 32719 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html\n--rw-r--r-- 0 root (0) root (0) 32511 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.Utf8Pattern.html\n--rw-r--r-- 0 root (0) root (0) 12808 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/index.html\n+-rw-r--r-- 0 root (0) root (0) 35119 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.SearchStep.html\n+-rw-r--r-- 0 root (0) root (0) 34815 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/enum.Utf8Pattern.html\n+-rw-r--r-- 0 root (0) root (0) 12952 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/index.html\n -rw-r--r-- 0 root (0) root (0) 259 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 38752 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n--rw-r--r-- 0 root (0) root (0) 38295 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n--rw-r--r-- 0 root (0) root (0) 40509 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n--rw-r--r-- 0 root (0) root (0) 36786 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSearcher.html\n--rw-r--r-- 0 root (0) root (0) 37396 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n--rw-r--r-- 0 root (0) root (0) 36195 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.StrSearcher.html\n--rw-r--r-- 0 root (0) root (0) 9647 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n--rw-r--r-- 0 root (0) root (0) 38757 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Pattern.html\n--rw-r--r-- 0 root (0) root (0) 15691 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n--rw-r--r-- 0 root (0) root (0) 17153 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Searcher.html\n+-rw-r--r-- 0 root (0) root (0) 41440 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 40983 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n+-rw-r--r-- 0 root (0) root (0) 43509 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 39186 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 39796 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 38571 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/struct.StrSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 9959 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 40533 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Pattern.html\n+-rw-r--r-- 0 root (0) root (0) 16339 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 17897 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/pattern/trait.Searcher.html\n -rw-r--r-- 0 root (0) root (0) 569 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 163221 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Bytes.html\n--rw-r--r-- 0 root (0) root (0) 165415 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.CharIndices.html\n--rw-r--r-- 0 root (0) root (0) 161864 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Chars.html\n--rw-r--r-- 0 root (0) root (0) 151972 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EncodeUtf16.html\n--rw-r--r-- 0 root (0) root (0) 155137 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDebug.html\n--rw-r--r-- 0 root (0) root (0) 155325 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDefault.html\n--rw-r--r-- 0 root (0) root (0) 155325 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeUnicode.html\n--rw-r--r-- 0 root (0) root (0) 162580 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Lines.html\n--rw-r--r-- 0 root (0) root (0) 160291 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.LinesAny.html\n--rw-r--r-- 0 root (0) root (0) 165930 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.MatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 165200 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Matches.html\n--rw-r--r-- 0 root (0) root (0) 36872 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.ParseBoolError.html\n--rw-r--r-- 0 root (0) root (0) 167309 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 166579 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatches.html\n--rw-r--r-- 0 root (0) root (0) 169517 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 160399 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 170358 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 168131 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 164214 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 169452 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 159018 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 168972 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 163656 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 33919 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunk.html\n--rw-r--r-- 0 root (0) root (0) 153857 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunks.html\n--rw-r--r-- 0 root (0) root (0) 44395 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Error.html\n--rw-r--r-- 0 root (0) root (0) 52468 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/trait.FromStr.html\n+-rw-r--r-- 0 root (0) root (0) 185631 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Bytes.html\n+-rw-r--r-- 0 root (0) root (0) 187717 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.CharIndices.html\n+-rw-r--r-- 0 root (0) root (0) 183977 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Chars.html\n+-rw-r--r-- 0 root (0) root (0) 172870 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EncodeUtf16.html\n+-rw-r--r-- 0 root (0) root (0) 176143 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDebug.html\n+-rw-r--r-- 0 root (0) root (0) 176331 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeDefault.html\n+-rw-r--r-- 0 root (0) root (0) 176331 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.EscapeUnicode.html\n+-rw-r--r-- 0 root (0) root (0) 184720 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Lines.html\n+-rw-r--r-- 0 root (0) root (0) 182323 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.LinesAny.html\n+-rw-r--r-- 0 root (0) root (0) 188259 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.MatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 187421 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Matches.html\n+-rw-r--r-- 0 root (0) root (0) 39950 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.ParseBoolError.html\n+-rw-r--r-- 0 root (0) root (0) 189638 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 188800 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RMatches.html\n+-rw-r--r-- 0 root (0) root (0) 191846 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 181540 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 192687 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.RSplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 190460 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 186354 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 191808 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 180159 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 191301 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 185796 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.SplitWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 36538 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunk.html\n+-rw-r--r-- 0 root (0) root (0) 174647 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 47716 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/struct.Utf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 56842 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/str/trait.FromStr.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/\n--rw-r--r-- 0 root (0) root (0) 9168 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/index.html\n+-rw-r--r-- 0 root (0) root (0) 9195 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/index.html\n -rw-r--r-- 0 root (0) root (0) 129 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 156569 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 28149 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf16Error.html\n--rw-r--r-- 0 root (0) root (0) 47849 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf8Error.html\n--rw-r--r-- 0 root (0) root (0) 574734 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.String.html\n--rw-r--r-- 0 root (0) root (0) 7003 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/trait.ToString.html\n--rw-r--r-- 0 root (0) root (0) 4316 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/type.ParseError.html\n+-rw-r--r-- 0 root (0) root (0) 177494 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 30093 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf16Error.html\n+-rw-r--r-- 0 root (0) root (0) 50711 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.FromUtf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 599304 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/struct.String.html\n+-rw-r--r-- 0 root (0) root (0) 7030 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/trait.ToString.html\n+-rw-r--r-- 0 root (0) root (0) 4370 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/string/type.ParseError.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/\n -rw-r--r-- 0 root (0) root (0) 4609 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/index.html\n -rw-r--r-- 0 root (0) root (0) 49 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 280129 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Arc.html\n--rw-r--r-- 0 root (0) root (0) 72911 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 291712 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Arc.html\n+-rw-r--r-- 0 root (0) root (0) 76367 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/sync/struct.Weak.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/\n -rw-r--r-- 0 root (0) root (0) 4460 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/index.html\n -rw-r--r-- 0 root (0) root (0) 54 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 13779 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.LocalWake.html\n--rw-r--r-- 0 root (0) root (0) 12561 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.Wake.html\n+-rw-r--r-- 0 root (0) root (0) 13806 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.LocalWake.html\n+-rw-r--r-- 0 root (0) root (0) 12723 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/task/trait.Wake.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/drain/\n -rw-r--r-- 0 root (0) root (0) 416 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/drain/struct.Drain.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/extract_if/\n -rw-r--r-- 0 root (0) root (0) 432 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/extract_if/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 9211 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/index.html\n+-rw-r--r-- 0 root (0) root (0) 9265 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/into_iter/\n -rw-r--r-- 0 root (0) root (0) 428 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/into_iter/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 82 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/sidebar-items1.85.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/splice/\n -rw-r--r-- 0 root (0) root (0) 420 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/splice/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 167337 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 144954 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 176510 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 162314 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 874773 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Vec.html\n+-rw-r--r-- 0 root (0) root (0) 188910 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 164448 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 198677 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 184373 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Splice.html\n+-rw-r--r-- 0 root (0) root (0) 911034 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/alloc/vec/struct.Vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/\n -rw-r--r-- 0 root (0) root (0) 72 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/.nojekyll\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/\n -rw-r--r-- 0 root (0) root (0) 72 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/.nojekyll\n -rw-r--r-- 0 root (0) root (0) 9758 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-00.html\n -rw-r--r-- 0 root (0) root (0) 9764 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-01-keywords.html\n -rw-r--r-- 0 root (0) root (0) 9850 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/book/2018-edition/appendix-02-operators.html\n@@ -44737,42 +44737,42 @@\n -rw-r--r-- 0 root (0) root (0) 2829 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/style-guide/toc.html\n -rw-r--r-- 0 root (0) root (0) 4453 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/style-guide/toc.js\n -rw-r--r-- 0 root (0) root (0) 1694 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/style-guide/tomorrow-night.css\n -rw-r--r-- 0 root (0) root (0) 12533 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/style-guide/types.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/\n -rw-r--r-- 0 root (0) root (0) 6052 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/all.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/\n--rw-r--r-- 0 root (0) root (0) 4377 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.benchmark.html\n+-rw-r--r-- 0 root (0) root (0) 4458 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.benchmark.html\n -rw-r--r-- 0 root (0) root (0) 3875 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.black_box.html\n -rw-r--r-- 0 root (0) root (0) 3637 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.fmt_bench_samples.html\n--rw-r--r-- 0 root (0) root (0) 3722 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.iter.html\n--rw-r--r-- 0 root (0) root (0) 4226 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.run_once.html\n+-rw-r--r-- 0 root (0) root (0) 3749 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.iter.html\n+-rw-r--r-- 0 root (0) root (0) 4280 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/fn.run_once.html\n -rw-r--r-- 0 root (0) root (0) 5512 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/index.html\n -rw-r--r-- 0 root (0) root (0) 130 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 29344 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/struct.BenchSamples.html\n--rw-r--r-- 0 root (0) root (0) 27587 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/struct.Bencher.html\n+-rw-r--r-- 0 root (0) root (0) 29614 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/struct.BenchSamples.html\n+-rw-r--r-- 0 root (0) root (0) 27803 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/bench/struct.Bencher.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/cli/\n -rw-r--r-- 0 root (0) root (0) 408 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/cli/fn.parse_opts.html\n -rw-r--r-- 0 root (0) root (0) 396 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/cli/struct.TestOpts.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/console/\n -rw-r--r-- 0 root (0) root (0) 416 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/console/fn.run_tests_console.html\n--rw-r--r-- 0 root (0) root (0) 28037 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.ColorConfig.html\n--rw-r--r-- 0 root (0) root (0) 31764 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.NamePadding.html\n--rw-r--r-- 0 root (0) root (0) 31696 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.OutputFormat.html\n--rw-r--r-- 0 root (0) root (0) 29746 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.RunIgnored.html\n--rw-r--r-- 0 root (0) root (0) 32451 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.ShouldPanic.html\n--rw-r--r-- 0 root (0) root (0) 29202 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestFn.html\n--rw-r--r-- 0 root (0) root (0) 37567 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestName.html\n--rw-r--r-- 0 root (0) root (0) 33139 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestType.html\n--rw-r--r-- 0 root (0) root (0) 4097 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.assert_test_result.html\n+-rw-r--r-- 0 root (0) root (0) 28187 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.ColorConfig.html\n+-rw-r--r-- 0 root (0) root (0) 32064 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.NamePadding.html\n+-rw-r--r-- 0 root (0) root (0) 31936 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.OutputFormat.html\n+-rw-r--r-- 0 root (0) root (0) 29986 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.RunIgnored.html\n+-rw-r--r-- 0 root (0) root (0) 32811 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.ShouldPanic.html\n+-rw-r--r-- 0 root (0) root (0) 29802 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestFn.html\n+-rw-r--r-- 0 root (0) root (0) 38017 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestName.html\n+-rw-r--r-- 0 root (0) root (0) 33439 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/enum.TestType.html\n+-rw-r--r-- 0 root (0) root (0) 4157 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.assert_test_result.html\n -rw-r--r-- 0 root (0) root (0) 3723 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.convert_benchmarks_to_tests.html\n -rw-r--r-- 0 root (0) root (0) 3768 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.filter_tests.html\n--rw-r--r-- 0 root (0) root (0) 4181 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_test.html\n--rw-r--r-- 0 root (0) root (0) 4105 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_tests.html\n--rw-r--r-- 0 root (0) root (0) 4028 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_tests_console.html\n+-rw-r--r-- 0 root (0) root (0) 4301 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_test.html\n+-rw-r--r-- 0 root (0) root (0) 4225 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_tests.html\n+-rw-r--r-- 0 root (0) root (0) 4088 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.run_tests_console.html\n -rw-r--r-- 0 root (0) root (0) 3773 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.test_main.html\n -rw-r--r-- 0 root (0) root (0) 3806 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.test_main_static.html\n -rw-r--r-- 0 root (0) root (0) 3910 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/fn.test_main_static_abort.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/helpers/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/helpers/metrics/\n -rw-r--r-- 0 root (0) root (0) 420 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/helpers/metrics/struct.Metric.html\n -rw-r--r-- 0 root (0) root (0) 432 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/helpers/metrics/struct.MetricMap.html\n@@ -44782,43 +44782,43 @@\n -rw-r--r-- 0 root (0) root (0) 404 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/options/enum.OutputFormat.html\n -rw-r--r-- 0 root (0) root (0) 396 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/options/enum.RunIgnored.html\n -rw-r--r-- 0 root (0) root (0) 420 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/options/enum.RunStrategy.html\n -rw-r--r-- 0 root (0) root (0) 400 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/options/enum.ShouldPanic.html\n -rw-r--r-- 0 root (0) root (0) 392 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/options/struct.Options.html\n -rw-r--r-- 0 root (0) root (0) 406 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/sidebar-items1.85.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/\n--rw-r--r-- 0 root (0) root (0) 4457 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/fn.winsorize.html\n+-rw-r--r-- 0 root (0) root (0) 4511 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/fn.winsorize.html\n -rw-r--r-- 0 root (0) root (0) 5151 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/index.html\n -rw-r--r-- 0 root (0) root (0) 83 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 36605 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/struct.Summary.html\n--rw-r--r-- 0 root (0) root (0) 27686 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/trait.Stats.html\n--rw-r--r-- 0 root (0) root (0) 29164 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.Options.html\n--rw-r--r-- 0 root (0) root (0) 34103 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestDesc.html\n--rw-r--r-- 0 root (0) root (0) 22112 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestDescAndFn.html\n--rw-r--r-- 0 root (0) root (0) 31095 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestId.html\n--rw-r--r-- 0 root (0) root (0) 32774 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestOpts.html\n+-rw-r--r-- 0 root (0) root (0) 37604 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/struct.Summary.html\n+-rw-r--r-- 0 root (0) root (0) 29009 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/stats/trait.Stats.html\n+-rw-r--r-- 0 root (0) root (0) 29494 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.Options.html\n+-rw-r--r-- 0 root (0) root (0) 34853 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestDesc.html\n+-rw-r--r-- 0 root (0) root (0) 22352 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestDescAndFn.html\n+-rw-r--r-- 0 root (0) root (0) 31455 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestId.html\n+-rw-r--r-- 0 root (0) root (0) 33584 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/struct.TestOpts.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/\n--rw-r--r-- 0 root (0) root (0) 30199 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.RunIgnored.html\n--rw-r--r-- 0 root (0) root (0) 25635 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.RunStrategy.html\n--rw-r--r-- 0 root (0) root (0) 32958 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.ShouldPanic.html\n--rw-r--r-- 0 root (0) root (0) 38164 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestName.html\n--rw-r--r-- 0 root (0) root (0) 30843 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestResult.html\n--rw-r--r-- 0 root (0) root (0) 33640 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestType.html\n+-rw-r--r-- 0 root (0) root (0) 30415 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.RunIgnored.html\n+-rw-r--r-- 0 root (0) root (0) 25770 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.RunStrategy.html\n+-rw-r--r-- 0 root (0) root (0) 33282 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.ShouldPanic.html\n+-rw-r--r-- 0 root (0) root (0) 38569 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestName.html\n+-rw-r--r-- 0 root (0) root (0) 31059 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestResult.html\n+-rw-r--r-- 0 root (0) root (0) 33910 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/enum.TestType.html\n -rw-r--r-- 0 root (0) root (0) 4558 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/fn.parse_opts.html\n -rw-r--r-- 0 root (0) root (0) 12670 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/index.html\n -rw-r--r-- 0 root (0) root (0) 252 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/sidebar-items1.85.0.js\n--rw-r--r-- 0 root (0) root (0) 29479 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.Metric.html\n--rw-r--r-- 0 root (0) root (0) 29936 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.MetricMap.html\n--rw-r--r-- 0 root (0) root (0) 29608 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.Options.html\n--rw-r--r-- 0 root (0) root (0) 34601 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestDesc.html\n--rw-r--r-- 0 root (0) root (0) 22457 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestDescAndFn.html\n--rw-r--r-- 0 root (0) root (0) 31747 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestExecTime.html\n--rw-r--r-- 0 root (0) root (0) 31602 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestId.html\n--rw-r--r-- 0 root (0) root (0) 33223 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestOpts.html\n--rw-r--r-- 0 root (0) root (0) 35954 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestTimeOptions.html\n+-rw-r--r-- 0 root (0) root (0) 29749 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.Metric.html\n+-rw-r--r-- 0 root (0) root (0) 30233 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.MetricMap.html\n+-rw-r--r-- 0 root (0) root (0) 29905 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.Options.html\n+-rw-r--r-- 0 root (0) root (0) 35276 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestDesc.html\n+-rw-r--r-- 0 root (0) root (0) 22673 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestDescAndFn.html\n+-rw-r--r-- 0 root (0) root (0) 31963 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestExecTime.html\n+-rw-r--r-- 0 root (0) root (0) 31926 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestId.html\n+-rw-r--r-- 0 root (0) root (0) 33952 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestOpts.html\n+-rw-r--r-- 0 root (0) root (0) 36305 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test/struct.TestTimeOptions.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test_result/\n -rw-r--r-- 0 root (0) root (0) 416 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/test_result/enum.TestResult.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/time/\n -rw-r--r-- 0 root (0) root (0) 432 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/time/struct.TestExecTime.html\n -rw-r--r-- 0 root (0) root (0) 444 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/time/struct.TestTimeOptions.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/types/\n -rw-r--r-- 0 root (0) root (0) 400 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/test/types/enum.NamePadding.html\n@@ -44842,35 +44842,35 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/alloc/global/\n -rw-r--r-- 0 root (0) root (0) 512 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/alloc/trait.Allocator.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/any/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/any/trait.Any.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/async_iter/async_iter/\n--rw-r--r-- 0 root (0) root (0) 967 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/\n--rw-r--r-- 0 root (0) root (0) 4452 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js\n--rw-r--r-- 0 root (0) root (0) 2037 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n+-rw-r--r-- 0 root (0) root (0) 4716 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.Borrow.js\n+-rw-r--r-- 0 root (0) root (0) 2169 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/\n--rw-r--r-- 0 root (0) root (0) 45220 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js\n+-rw-r--r-- 0 root (0) root (0) 48124 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.Clone.js\n -rw-r--r-- 0 root (0) root (0) 759 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/clone/trait.CloneToUninit.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/\n--rw-r--r-- 0 root (0) root (0) 19769 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Eq.js\n--rw-r--r-- 0 root (0) root (0) 8519 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Ord.js\n--rw-r--r-- 0 root (0) root (0) 59994 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n--rw-r--r-- 0 root (0) root (0) 29073 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n+-rw-r--r-- 0 root (0) root (0) 20990 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Eq.js\n+-rw-r--r-- 0 root (0) root (0) 9509 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.Ord.js\n+-rw-r--r-- 0 root (0) root (0) 64020 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 30063 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/num/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/num/trait.FloatToInt.js\n--rw-r--r-- 0 root (0) root (0) 2458 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js\n--rw-r--r-- 0 root (0) root (0) 12257 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsRef.js\n--rw-r--r-- 0 root (0) root (0) 90006 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.From.js\n+-rw-r--r-- 0 root (0) root (0) 2755 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsMut.js\n+-rw-r--r-- 0 root (0) root (0) 13148 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.AsRef.js\n+-rw-r--r-- 0 root (0) root (0) 99180 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.From.js\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.Into.js\n--rw-r--r-- 0 root (0) root (0) 4743 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js\n+-rw-r--r-- 0 root (0) root (0) 5370 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryFrom.js\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/convert/trait.TryInto.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/cast/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/lane_count/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/masks/\n@@ -44895,137 +44895,137 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/to_bytes/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/core_simd/vector/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/\n--rw-r--r-- 0 root (0) root (0) 25855 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js\n+-rw-r--r-- 0 root (0) root (0) 28132 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/default/trait.Default.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/\n--rw-r--r-- 0 root (0) root (0) 9723 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/trait.Error.js\n+-rw-r--r-- 0 root (0) root (0) 10284 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/error/trait.Error.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Binary.js\n--rw-r--r-- 0 root (0) root (0) 101919 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js\n--rw-r--r-- 0 root (0) root (0) 19231 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Display.js\n+-rw-r--r-- 0 root (0) root (0) 103305 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Debug.js\n+-rw-r--r-- 0 root (0) root (0) 19495 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Display.js\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.LowerExp.js\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.LowerHex.js\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Octal.js\n--rw-r--r-- 0 root (0) root (0) 2159 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js\n+-rw-r--r-- 0 root (0) root (0) 2291 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Pointer.js\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.UpperExp.js\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.UpperHex.js\n -rw-r--r-- 0 root (0) root (0) 746 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/fmt/trait.Write.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/future/\n--rw-r--r-- 0 root (0) root (0) 1015 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/future/into_future/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/\n -rw-r--r-- 0 root (0) root (0) 538 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.BuildHasher.js\n--rw-r--r-- 0 root (0) root (0) 10161 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hash.js\n--rw-r--r-- 0 root (0) root (0) 1109 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js\n+-rw-r--r-- 0 root (0) root (0) 11151 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hash.js\n+-rw-r--r-- 0 root (0) root (0) 1208 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/hash/trait.Hasher.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/fallback/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/fallback/trait.CarryingMulAdd.js\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/intrinsics/trait.AggregateRawPtr.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/range/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/accum/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/collect/\n--rw-r--r-- 0 root (0) root (0) 15748 2025-02-20 18:23:02.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) 14966 2025-02-20 18:23:02.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) 13183 2025-02-20 18:23:02.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) 17332 2025-02-20 18:23:02.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) 16781 2025-02-20 18:23:02.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) 14075 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/double_ended/\n--rw-r--r-- 0 root (0) root (0) 13818 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/exact_size/\n--rw-r--r-- 0 root (0) root (0) 16985 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/iterator/\n--rw-r--r-- 0 root (0) root (0) 34112 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/iter/traits/marker/\n--rw-r--r-- 0 root (0) root (0) 25214 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.ConstParamTy_.js\n--rw-r--r-- 0 root (0) root (0) 12133 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Copy.js\n--rw-r--r-- 0 root (0) root (0) 104631 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js\n--rw-r--r-- 0 root (0) root (0) 560 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.PointerLike.js\n--rw-r--r-- 0 root (0) root (0) 121216 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js\n+-rw-r--r-- 0 root (0) root (0) 12166 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Copy.js\n+-rw-r--r-- 0 root (0) root (0) 108822 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Freeze.js\n+-rw-r--r-- 0 root (0) root (0) 593 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.PointerLike.js\n+-rw-r--r-- 0 root (0) root (0) 128410 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Send.js\n -rw-r--r-- 0 root (0) root (0) 769 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sized.js\n--rw-r--r-- 0 root (0) root (0) 15616 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n--rw-r--r-- 0 root (0) root (0) 121864 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js\n--rw-r--r-- 0 root (0) root (0) 106414 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js\n+-rw-r--r-- 0 root (0) root (0) 15913 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 129058 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Sync.js\n+-rw-r--r-- 0 root (0) root (0) 110737 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.Unpin.js\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/marker/trait.UnsizedConstParamTy.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/num/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/num/nonzero/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/\n--rw-r--r-- 0 root (0) root (0) 1944 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.RemAssign.js\n--rw-r--r-- 0 root (0) root (0) 3008 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/arith/trait.Sub.js\n+-rw-r--r-- 0 root (0) root (0) 3141 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/async_function/\n--rw-r--r-- 0 root (0) root (0) 1070 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/\n--rw-r--r-- 0 root (0) root (0) 2156 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js\n+-rw-r--r-- 0 root (0) root (0) 2289 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitAndAssign.js\n--rw-r--r-- 0 root (0) root (0) 2150 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOr.js\n+-rw-r--r-- 0 root (0) root (0) 2283 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitOrAssign.js\n--rw-r--r-- 0 root (0) root (0) 2156 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/bit/trait.BitXor.js\n+-rw-r--r-- 0 root (0) root (0) 2289 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/coroutine/\n--rw-r--r-- 0 root (0) root (0) 1847 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/\n--rw-r--r-- 0 root (0) root (0) 8461 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n--rw-r--r-- 0 root (0) root (0) 3619 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n+-rw-r--r-- 0 root (0) root (0) 4015 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.DerefPure.js\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/deref/trait.Receiver.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/\n--rw-r--r-- 0 root (0) root (0) 14601 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/drop/trait.Drop.js\n+-rw-r--r-- 0 root (0) root (0) 15690 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/function/\n--rw-r--r-- 0 root (0) root (0) 1016 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/\n--rw-r--r-- 0 root (0) root (0) 4693 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/index/trait.IndexMut.js\n+-rw-r--r-- 0 root (0) root (0) 5155 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/range/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/try_trait/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/\n--rw-r--r-- 0 root (0) root (0) 5329 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n--rw-r--r-- 0 root (0) root (0) 4725 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n+-rw-r--r-- 0 root (0) root (0) 5517 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/panic/unwind_safe/\n--rw-r--r-- 0 root (0) root (0) 141124 2025-02-20 18:23:02.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) 126081 2025-02-20 18:23:02.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) 148351 2025-02-20 18:23:02.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) 131658 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/\n--rw-r--r-- 0 root (0) root (0) 3233 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js\n+-rw-r--r-- 0 root (0) root (0) 3629 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/pin/trait.PinCoerceUnsized.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/\n -rw-r--r-- 0 root (0) root (0) 292 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/trait.Random.js\n -rw-r--r-- 0 root (0) root (0) 558 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/random/trait.RandomSource.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/index/\n -rw-r--r-- 0 root (0) root (0) 308 2025-02-20 18:23:02.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 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/core/slice/trait.GetManyMutIndex.js\n@@ -45146,20 +45146,20 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/stats/\n -rw-r--r-- 0 root (0) root (0) 278 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/trait.impl/test/stats/trait.Stats.js\n -rw-r--r-- 0 root (0) root (0) 1533 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/tutorial.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 13608 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n+-rw-r--r-- 0 root (0) root (0) 15192 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/alloc/\n -rw-r--r-- 0 root (0) root (0) 13293 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/\n--rw-r--r-- 0 root (0) root (0) 26501 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js\n+-rw-r--r-- 0 root (0) root (0) 30824 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/convert/enum.Infallible.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/num/\n -rw-r--r-- 0 root (0) root (0) 1211242 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/num/struct.NonZero.js\n -rw-r--r-- 0 root (0) root (0) 159435 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.f32.js\n -rw-r--r-- 0 root (0) root (0) 166696 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.f64.js\n -rw-r--r-- 0 root (0) root (0) 563949 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i16.js\n -rw-r--r-- 0 root (0) root (0) 607536 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i32.js\n -rw-r--r-- 0 root (0) root (0) 566838 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.i64.js\n@@ -45167,15 +45167,15 @@\n -rw-r--r-- 0 root (0) root (0) 575614 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.isize.js\n -rw-r--r-- 0 root (0) root (0) 566629 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u16.js\n -rw-r--r-- 0 root (0) root (0) 581424 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u32.js\n -rw-r--r-- 0 root (0) root (0) 567525 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u64.js\n -rw-r--r-- 0 root (0) root (0) 611327 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.u8.js\n -rw-r--r-- 0 root (0) root (0) 570573 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/primitive.usize.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/\n--rw-r--r-- 0 root (0) root (0) 288742 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/enum.Result.js\n+-rw-r--r-- 0 root (0) root (0) 302701 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/result/enum.Result.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/\n -rw-r--r-- 0 root (0) root (0) 215519 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/struct.Mask.js\n -rw-r--r-- 0 root (0) root (0) 1788169 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/core/simd/struct.Simd.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/std/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/std/alloc/\n -rw-r--r-- 0 root (0) root (0) 13481 2025-02-20 18:23:02.000000 ./usr/share/doc/rust-doc/html/type.impl/std/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-20 18:23:02.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 allocate 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 allocate_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 deallocate 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 grow and shrink methods\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 u8)

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

\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

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

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

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

\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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

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

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

1.44.0 (const: 1.85.0) \u00b7 Source

pub const 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: 1.85.0) \u00b7 Source

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

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

\n+
1.44.0 (const: 1.85.0) \u00b7 Source

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

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

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

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

\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

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

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 behavior.\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,181 +129,181 @@\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 u8)

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

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for UniqueRc<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>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for UniqueRc<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>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for UniqueRc<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>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for UniqueRc<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-

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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+

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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,79 +1,79 @@\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<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+

    Implementations\u00a7

    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@@ -84,68 +84,68 @@\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<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@@ -155,25 +155,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@@ -182,15 +182,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@@ -200,87 +200,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@@ -288,30 +288,30 @@\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

    pub fn into_array<const N: usize>(self) -> Option<Box<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the boxed slice into a boxed array.

    \n+
    Source

    pub fn into_array<const N: usize>(self) -> Option<Box<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the boxed slice into a boxed array.

    \n

    This operation does not reallocate; the underlying array of the slice is simply reinterpreted as an array type.

    \n

    If N is not exactly equal to the length of self, then this method returns None.

    \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@@ -321,31 +321,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@@ -355,32 +355,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@@ -410,17 +410,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@@ -430,15 +430,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@@ -461,15 +461,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@@ -496,15 +496,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@@ -532,15 +532,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@@ -566,15 +566,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@@ -604,15 +604,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@@ -647,15 +647,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@@ -685,15 +685,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@@ -722,15 +722,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@@ -745,15 +745,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@@ -774,19 +774,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@@ -806,19 +806,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@@ -829,231 +829,231 @@\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-

    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.
    1.85.0 \u00b7 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.
    1.85.0 \u00b7 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.
    1.85.0 \u00b7 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.
    1.85.0 \u00b7 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.
    1.85.0 \u00b7 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.
    1.85.0 \u00b7 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<E: Error> Error for Box<E>

    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<E: Error> Error for Box<E>

    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.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Box<[T]>

    Source\u00a7

    fn from(slice: &mut [T]) -> Box<[T]>

    Converts a &mut [T] into a Box<[T]>

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Box<[T]>

    Source\u00a7

    fn from(slice: &mut [T]) -> Box<[T]>

    Converts a &mut [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 &mut [u8] which will be used to create a Box<[u8]>\n let mut array = [104, 101, 108, 108, 111];\n let slice: &mut [u8] = &mut array;\n let boxed_slice: Box<[u8]> = Box::from(slice);\n \n println!(\"{boxed_slice:?}\");
    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Box<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Box<CStr>

    Converts a &mut CStr into a Box<CStr>,\n+

    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Box<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Box<CStr>

    Converts a &mut CStr into a Box<CStr>,\n by copying the contents into a newly allocated Box.

    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Box<str>

    Source\u00a7

    fn from(s: &mut str) -> Box<str>

    Converts a &mut str into a Box<str>

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Box<str>

    Source\u00a7

    fn from(s: &mut str) -> Box<str>

    Converts a &mut str into a Box<str>

    \n

    This conversion allocates on the heap\n and performs a copy of s.

    \n
    \u00a7Examples
    \n
    let mut original = String::from(\"hello\");\n let original: &mut str = &mut original;\n let boxed: Box<str> = Box::from(original);\n println!(\"{boxed}\");
    \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@@ -1066,16 +1066,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@@ -1093,321 +1093,321 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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>

    Source\u00a7

    impl<T> PointerLike for Box<T>

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

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

    Source\u00a7

    impl<T> PointerLike for Box<T>

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

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

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    Source\u00a7

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Returns the pattern as utf-8 bytes if possible.
    Source\u00a7

    impl<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

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

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Returns the pattern as utf-8 bytes if possible.
    Source\u00a7

    impl<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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,56 +1,56 @@\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-
    Source\u00a7

    impl<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    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 zero, 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 zero, 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@@ -143,15 +143,15 @@\n if let Some(mut val) = heap.peek_mut() {\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@@ -228,15 +228,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@@ -263,72 +263,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@@ -347,15 +347,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@@ -381,26 +381,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@@ -416,24 +416,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@@ -469,63 +469,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 u8)

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

    \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,239 +1,239 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,220 +1,220 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,224 +1,224 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,240 +1,240 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,24 +1,24 @@\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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    Source\u00a7

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

    Source\u00a7

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

    The type returned 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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    type Error = Infallible

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

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

    Performs the conversion.
    Source\u00a7

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

    Source\u00a7

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

    The type returned in the event of a 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@@ -66,40 +66,40 @@\n 
    #![feature(btree_entry_insert)]\n use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, String> = BTreeMap::new();\n let entry = map.entry(\"poneyland\").insert_entry(\"hoho\".to_string());\n \n assert_eq!(entry.key(), &\"poneyland\");
    \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,29 +128,29 @@\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. This is\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. This is\n potentially useful:

    \n
      \n
    • for key types where non-identical keys can be considered equal;
    • \n
    • for getting the &K stored key value from a borrowed &Q lookup key; or
    • \n
    • for getting a reference to a key with the same lifetime as the collection.
    • \n
    \n

    The supplied key may be any borrowed form of the map\u2019s key type, but the ordering\n@@ -191,125 +191,125 @@\n assert_eq!(j_a, j_b);\n \n let mut map = BTreeMap::new();\n map.insert(j_a, \"Paris\");\n assert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\n assert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\n assert_eq!(map.get_key_value(&p), 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@@ -321,16 +321,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@@ -338,55 +338,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@@ -405,17 +405,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@@ -429,17 +429,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@@ -452,31 +452,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@@ -492,16 +492,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@@ -538,15 +538,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@@ -604,33 +604,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@@ -654,17 +654,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@@ -688,17 +688,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@@ -722,17 +722,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@@ -756,62 +756,62 @@\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

    If any entries in the array have equal keys,\n all but one of the corresponding values will be dropped.

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

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

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

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

    \n

    If the iterator produces any pairs with equal keys,\n all but one of the corresponding values will be dropped.

    \n-
    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: 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 u8)

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

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

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

    \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,232 +1,232 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,248 +1,248 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,242 +1,242 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,237 +1,237 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,242 +1,242 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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

    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

    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,239 +1,239 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,234 +1,234 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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

    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

    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,15 +13,15 @@\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@@ -39,31 +39,31 @@\n let mut map: BTreeMap<&str, u32> = BTreeMap::new();\n \n if let Entry::Vacant(o) = map.entry(\"poneyland\") {\n     let entry = o.insert_entry(37);\n     assert_eq!(entry.get(), &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,244 +1,244 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,239 +1,239 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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/enum.Entry.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/enum.Entry.html", "unified_diff": "@@ -1,8 +1,8 @@\n-Entry in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Enum Entry

    Source
    pub enum Entry<'a, T, A: Allocator + Clone = Global> {\n+Entry in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Enum Entry

    Source
    pub enum Entry<'a, T, A: Allocator + Clone = Global> {\n     Occupied(OccupiedEntry<'a, T, A>),\n     Vacant(VacantEntry<'a, T, A>),\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)
    Expand description

    A view into a single entry in a set, which may either be vacant or occupied.

    \n

    This enum is constructed from the entry method on BTreeSet.

    \n

    \u00a7Examples

    \n
    #![feature(btree_set_entry)]\n \n@@ -46,15 +46,15 @@\n \n let mut set = BTreeSet::new();\n \n match set.entry(\"a\") {\n     Entry::Occupied(_) => unreachable!(),\n     Entry::Vacant(_) => { }\n }
    \n-

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Entry<'a, T, A>

    Source

    pub fn insert(self) -> OccupiedEntry<'a, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Sets the value of the entry, and returns an OccupiedEntry.

    \n+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Entry<'a, T, A>

    Source

    pub fn insert(self) -> OccupiedEntry<'a, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Sets the value of the entry, and returns an OccupiedEntry.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n let entry = set.entry(\"horseyland\").insert();\n@@ -72,41 +72,41 @@\n set.entry(\"poneyland\").or_insert();\n assert!(set.contains(\"poneyland\"));\n \n // existing key\n set.entry(\"poneyland\").or_insert();\n assert!(set.contains(\"poneyland\"));\n assert_eq!(set.len(), 1);
    \n-
    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Returns a reference to this entry\u2019s value.

    \n+
    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Returns a reference to this entry\u2019s value.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n set.entry(\"poneyland\").or_insert();\n \n // existing key\n assert_eq!(set.entry(\"poneyland\").get(), &\"poneyland\");\n // nonexistent key\n assert_eq!(set.entry(\"horseland\").get(), &\"horseland\");
    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for Entry<'_, T, 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, T, A> Freeze for Entry<'a, T, A>
    where\n- A: Freeze,\n- T: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Entry<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Entry<'a, T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, A> Sync for Entry<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Entry<'a, T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for Entry<'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 + Ord, A: Allocator + Clone> Debug for Entry<'_, T, 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, T, A> Freeze for Entry<'a, T, A>
    where\n+ A: Freeze,\n+ T: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Entry<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Entry<'a, T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, A> Sync for Entry<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Entry<'a, T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for Entry<'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_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,43 +298,43 @@\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-
    Source

    pub fn get_or_insert(&mut self, value: T) -> &T
    where\n- T: Ord,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Inserts the given value into the set if it is not present, then\n+

    Source

    pub fn get_or_insert(&mut self, value: T) -> &T
    where\n+ T: Ord,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Inserts the given value into the set if it is not present, then\n returns a reference to the value in the set.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n \n let mut set = BTreeSet::from([1, 2, 3]);\n assert_eq!(set.len(), 3);\n assert_eq!(set.get_or_insert(2), &2);\n assert_eq!(set.get_or_insert(100), &100);\n assert_eq!(set.len(), 4); // 100 was inserted
    \n-
    Source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n- T: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,\n- F: FnOnce(&Q) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Inserts a value computed from f into the set if the given value is\n+

    Source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n+ T: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,\n+ F: FnOnce(&Q) -> T,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Inserts a value computed from f into the set if the given value is\n not present, then returns a reference to the value in the set.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n \n let mut set: BTreeSet<String> = [\"cat\", \"dog\", \"horse\"]\n@@ -343,15 +343,15 @@\n assert_eq!(set.len(), 3);\n for &pet in &[\"cat\", \"dog\", \"fish\"] {\n     let value = set.get_or_insert_with(pet, str::to_owned);\n     assert_eq!(value, pet);\n }\n assert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    Source

    pub fn entry(&mut self, value: T) -> Entry<'_, T, A>
    where\n- T: Ord,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets the given value\u2019s corresponding entry in the set for in-place manipulation.

    \n+ T: Ord,
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets the given value\u2019s corresponding entry in the set for in-place manipulation.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n use std::collections::btree_set::Entry::*;\n \n let mut singles = BTreeSet::new();\n@@ -374,57 +374,57 @@\n         }\n     }\n }\n \n assert!(!singles.contains(&'t') && dupes.contains(&'t'));\n assert!(singles.contains(&'u') && !dupes.contains(&'u'));\n assert!(!singles.contains(&'v') && !dupes.contains(&'v'));
    \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@@ -440,17 +440,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@@ -468,16 +468,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@@ -499,33 +499,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@@ -544,17 +544,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@@ -573,17 +573,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@@ -604,18 +604,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@@ -634,93 +634,93 @@\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

    If the array contains any equal values,\n all but one will be dropped.

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

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

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

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

    \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,221 +1,221 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,229 +1,229 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,221 +1,221 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,245 +1,245 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,238 +1,238 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    Struct OccupiedEntry

    Source
    pub struct OccupiedEntry<'a, T, A: Allocator + Clone = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)
    Expand description

    A view into an occupied entry in a BTreeSet.\n+OccupiedEntry in alloc::collections::btree_set - Rust

    alloc::collections::btree_set

    Struct OccupiedEntry

    Source
    pub struct OccupiedEntry<'a, T, A: Allocator + Clone = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)
    Expand description

    A view into an occupied entry in a BTreeSet.\n It is part of the Entry enum.

    \n

    \u00a7Examples

    \n
    #![feature(btree_set_entry)]\n \n use std::collections::btree_set::{Entry, BTreeSet};\n \n let mut set = BTreeSet::new();\n@@ -26,15 +26,15 @@\n     Entry::Vacant(_) => unreachable!(),\n     Entry::Occupied(view) => {\n         assert_eq!(view.remove(), \"c\");\n     }\n }\n assert_eq!(set.get(&\"c\"), None);\n assert_eq!(set.len(), 2);
    \n-

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> OccupiedEntry<'a, T, A>

    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets a reference to the value in the entry.

    \n+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> OccupiedEntry<'a, T, A>

    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets a reference to the value in the entry.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::btree_set::{Entry, BTreeSet};\n \n let mut set = BTreeSet::new();\n set.entry(\"poneyland\").or_insert();\n@@ -54,26 +54,26 @@\n set.entry(\"poneyland\").or_insert();\n \n if let Entry::Occupied(o) = set.entry(\"poneyland\") {\n     assert_eq!(o.remove(), \"poneyland\");\n }\n \n assert_eq!(set.contains(\"poneyland\"), false);
    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for OccupiedEntry<'_, T, 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, T, A> Freeze for OccupiedEntry<'a, T, A>
    where\n- A: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for OccupiedEntry<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for OccupiedEntry<'a, T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, A> Sync for OccupiedEntry<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for OccupiedEntry<'a, T, A>
    where\n- A: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for OccupiedEntry<'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 + Ord, A: Allocator + Clone> Debug for OccupiedEntry<'_, T, 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, T, A> Freeze for OccupiedEntry<'a, T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for OccupiedEntry<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for OccupiedEntry<'a, T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, A> Sync for OccupiedEntry<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for OccupiedEntry<'a, T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for OccupiedEntry<'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_set/struct.Range.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.Range.html", "unified_diff": "@@ -1,235 +1,235 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,217 +1,217 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,217 +1,217 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

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

    \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

    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

    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_set/struct.VacantEntry.html", "source2": "./usr/share/doc/rust-doc/html/alloc/collections/btree_set/struct.VacantEntry.html", "unified_diff": "@@ -1,8 +1,8 @@\n-VacantEntry in alloc::collections::btree_set - Rust
    alloc::collections::btree_set

    Struct VacantEntry

    Source
    pub struct VacantEntry<'a, T, A: Allocator + Clone = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)
    Expand description

    A view into a vacant entry in a BTreeSet.\n+VacantEntry in alloc::collections::btree_set - Rust

    alloc::collections::btree_set

    Struct VacantEntry

    Source
    pub struct VacantEntry<'a, T, A: Allocator + Clone = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)
    Expand description

    A view into a vacant entry in a BTreeSet.\n It is part of the Entry enum.

    \n

    \u00a7Examples

    \n
    #![feature(btree_set_entry)]\n \n use std::collections::btree_set::{Entry, BTreeSet};\n \n let mut set = BTreeSet::<&str>::new();\n@@ -16,15 +16,15 @@\n \n // Nonexistent key (insert)\n match set.entry(\"b\") {\n     Entry::Vacant(view) => view.insert(),\n     Entry::Occupied(_) => unreachable!(),\n }\n assert!(set.contains(\"b\") && set.len() == 2);
    \n-

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> VacantEntry<'a, T, A>

    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets a reference to the value that would be used when inserting\n+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> VacantEntry<'a, T, A>

    Source

    pub fn get(&self) -> &T

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_set_entry #133549)

    Gets a reference to the value that would be used when inserting\n through the VacantEntry.

    \n
    \u00a7Examples
    \n
    #![feature(btree_set_entry)]\n \n use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n@@ -50,28 +50,28 @@\n \n let mut set = BTreeSet::new();\n \n if let Entry::Vacant(o) = set.entry(\"poneyland\") {\n     o.insert();\n }\n assert!(set.contains(\"poneyland\"));
    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for VacantEntry<'_, T, 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, T, A> Freeze for VacantEntry<'a, T, A>
    where\n- T: Freeze,\n- A: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for VacantEntry<'a, T, A>
    where\n- T: RefUnwindSafe,\n- A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for VacantEntry<'a, T, A>
    where\n- T: Send,\n- A: Send,

    \u00a7

    impl<'a, T, A> Sync for VacantEntry<'a, T, A>
    where\n- T: Sync,\n- A: Sync,

    \u00a7

    impl<'a, T, A> Unpin for VacantEntry<'a, T, A>
    where\n- T: Unpin,\n- A: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for VacantEntry<'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 + Ord, A: Allocator + Clone> Debug for VacantEntry<'_, T, 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, T, A> Freeze for VacantEntry<'a, T, A>
    where\n+ T: Freeze,\n+ A: Freeze,

    \u00a7

    impl<'a, T, A> RefUnwindSafe for VacantEntry<'a, T, A>
    where\n+ T: RefUnwindSafe,\n+ A: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for VacantEntry<'a, T, A>
    where\n+ T: Send,\n+ A: Send,

    \u00a7

    impl<'a, T, A> Sync for VacantEntry<'a, T, A>
    where\n+ T: Sync,\n+ A: Sync,

    \u00a7

    impl<'a, T, A> Unpin for VacantEntry<'a, T, A>
    where\n+ T: Unpin,\n+ A: Unpin,

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for VacantEntry<'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/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 u8)

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

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

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

    \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,216 +1,216 @@\n ExtractIf in alloc::collections::linked_list - Rust
    alloc::collections::linked_list

    Struct ExtractIf

    Source
    pub struct ExtractIf<'a, T: 'a, F: 'a, A: Allocator = Global> { /* 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>

    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+

    Trait Implementations\u00a7

    Source\u00a7

    impl<T: Debug, F> Debug for ExtractIf<'_, T, F>

    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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,247 +1,247 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,238 +1,238 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,230 +1,230 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(&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
    #![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 u8)

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

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

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

    \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

    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

    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,234 +1,234 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,237 +1,237 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,11 +1,11 @@\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-

    Implementations\u00a7

    Source\u00a7

    impl<'a, T> Iter<'a, T>

    Source

    pub fn as_slices(&self) -> (&'a [T], &'a [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T> Iter<'a, T>

    Source

    pub fn as_slices(&self) -> (&'a [T], &'a [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n

    The slices contain, in order, the contents of the deque not yet yielded\n by the iterator.

    \n

    This has the same lifetime as the original VecDeque, and so the\n iterator can continue to be used while this exists.

    \n
    \u00a7Examples
    \n
    #![feature(vec_deque_iter_as_slices)]\n \n@@ -20,240 +20,240 @@\n deque.push_front(8);\n \n let mut iter = deque.iter();\n iter.next();\n iter.next_back();\n \n assert_eq!(iter.as_slices(), (&[9, 10][..], &[0, 1][..]));
    \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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,11 +1,11 @@\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-

    Implementations\u00a7

    Source\u00a7

    impl<'a, T> IterMut<'a, T>

    Source

    pub fn into_slices(self) -> (&'a mut [T], &'a mut [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T> IterMut<'a, T>

    Source

    pub fn into_slices(self) -> (&'a mut [T], &'a mut [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n

    The slices contain, in order, the contents of the deque not yet yielded\n by the iterator.

    \n

    To avoid creating &mut references that alias, this is forced to\n consume the iterator.

    \n
    \u00a7Examples
    \n
    #![feature(vec_deque_iter_as_slices)]\n \n@@ -23,15 +23,15 @@\n iter.next();\n iter.next_back();\n \n let slices = iter.into_slices();\n slices.0[0] = 42;\n slices.1[0] = 24;\n assert_eq!(deque.as_slices(), (&[8, 42, 10][..], &[24, 1, 2][..]));
    \n-
    Source

    pub fn as_slices(&self) -> (&[T], &[T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n+
    Source

    pub fn as_slices(&self) -> (&[T], &[T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n

    The slices contain, in order, the contents of the deque not yet yielded\n by the iterator.

    \n

    To avoid creating &mut [T] references that alias, the returned slices\n borrow their lifetimes from the iterator the method is applied on.

    \n
    \u00a7Examples
    \n
    #![feature(vec_deque_iter_as_slices)]\n \n@@ -46,15 +46,15 @@\n deque.push_front(8);\n \n let mut iter = deque.iter_mut();\n iter.next();\n iter.next_back();\n \n assert_eq!(iter.as_slices(), (&[9, 10][..], &[0, 1][..]));
    \n-
    Source

    pub fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n+
    Source

    pub fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_deque_iter_as_slices #123947)

    Views the underlying data as a pair of subslices of the original data.

    \n

    The slices contain, in order, the contents of the deque not yet yielded\n by the iterator.

    \n

    To avoid creating &mut [T] references that alias, the returned slices\n borrow their lifetimes from the iterator the method is applied on.

    \n
    \u00a7Examples
    \n
    #![feature(vec_deque_iter_as_slices)]\n \n@@ -71,236 +71,236 @@\n let mut iter = deque.iter_mut();\n iter.next();\n iter.next_back();\n \n iter.as_mut_slices().0[0] = 42;\n iter.as_mut_slices().1[0] = 24;\n assert_eq!(deque.as_slices(), (&[8, 42, 10][..], &[24, 1, 2][..]));
    \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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 strictly greater than deque\u2019s length

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n@@ -507,15 +507,15 @@\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 \n vec_deque.insert(4, 'e');\n assert_eq!(vec_deque, &['a', 'd', 'b', 'c', 'e']);
    \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@@ -523,16 +523,16 @@\n buf.push_back('a');\n buf.push_back('b');\n buf.push_back('c');\n assert_eq!(buf, ['a', 'b', 'c']);\n \n assert_eq!(buf.remove(1), Some('b'));\n assert_eq!(buf, ['a', 'c']);
    \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@@ -550,15 +550,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@@ -574,15 +574,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(&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
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n@@ -590,15 +590,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@@ -611,15 +611,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@@ -654,15 +654,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@@ -679,15 +679,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@@ -704,22 +704,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@@ -741,26 +741,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@@ -771,27 +771,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@@ -803,16 +803,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@@ -833,15 +833,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@@ -850,30 +850,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@@ -886,54 +886,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 u8)

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

    \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::from(c\"Hello!\");\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,89 +153,89 @@\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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
    let c_string = c\"foo\".to_owned();\n let boxed = c_string.into_boxed_c_str();\n assert_eq!(boxed.to_bytes_with_nul(), b\"foo\\0\");
    \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@@ -250,21 +250,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@@ -272,20 +272,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@@ -310,120 +310,120 @@\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-
    Source\u00a7

    impl FromStr for CString

    Source\u00a7

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Converts a string s into a CString.

    \n+
    Source\u00a7

    impl FromStr for CString

    Source\u00a7

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Converts a string s into a CString.

    \n

    This method is equivalent to CString::new.

    \n-
    Source\u00a7

    type Err = NulError

    The associated error which can be returned from parsing.
    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
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \n+
    Source\u00a7

    type Err = NulError

    The associated error which can be returned from parsing.
    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
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \n

    This method is equivalent to CString::into_string.

    \n-
    Source\u00a7

    type Error = IntoStringError

    The type returned in the event of a conversion error.
    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 u8)

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

    The type returned in the event of a conversion error.
    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 u8)

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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/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 u8)

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

    \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

    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

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

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

    \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

    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

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

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

    \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

    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

    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

    Modules\u00a7

    Structs\u00a7

    • A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the\n middle.
    • An error indicating that a nul byte was not in the expected position.
    • An error indicating invalid UTF-8 when converting a CString into a String.
    • An error indicating that an interior nul byte was found.
    \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::from(c\"Hello!\");\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,89 +153,89 @@\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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::from(c\"foo\");\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
    let c_string = c\"foo\".to_owned();\n let boxed = c_string.into_boxed_c_str();\n assert_eq!(boxed.to_bytes_with_nul(), b\"foo\\0\");
    \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@@ -250,21 +250,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@@ -272,20 +272,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@@ -310,120 +310,120 @@\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-
    Source\u00a7

    impl FromStr for CString

    Source\u00a7

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Converts a string s into a CString.

    \n+
    Source\u00a7

    impl FromStr for CString

    Source\u00a7

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Converts a string s into a CString.

    \n

    This method is equivalent to CString::new.

    \n-
    Source\u00a7

    type Err = NulError

    The associated error which can be returned from parsing.
    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
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \n+
    Source\u00a7

    type Err = NulError

    The associated error which can be returned from parsing.
    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
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \n

    This method is equivalent to CString::into_string.

    \n-
    Source\u00a7

    type Error = IntoStringError

    The type returned in the event of a conversion error.
    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 u8)

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

    The type returned in the event of a conversion error.
    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 u8)

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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/ffi/struct.FromVecWithNulError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/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 u8)

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

    \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

    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

    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/struct.IntoStringError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/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 u8)

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

    \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

    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

    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/struct.NulError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/ffi/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 u8)

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

    \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

    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

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

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

    \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/enum.DebugAsHex.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/enum.DebugAsHex.html", "unified_diff": "@@ -1,21 +1,21 @@\n-DebugAsHex in alloc::fmt - Rust
    alloc::fmt

    Enum DebugAsHex

    Source
    pub enum DebugAsHex {\n+DebugAsHex in alloc::fmt - Rust
    alloc::fmt

    Enum DebugAsHex

    Source
    pub enum DebugAsHex {\n     Lower,\n     Upper,\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)
    Expand description

    Specifies whether the Debug trait should use lower-/upper-case\n hexadecimal or normal integers.

    \n

    Variants\u00a7

    \u00a7

    Lower

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Use lower-case hexadecimal integers for the Debug trait (like the x? type).

    \n
    \u00a7

    Upper

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Use upper-case hexadecimal integers for the Debug trait (like the X? type).

    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl Clone for DebugAsHex

    Source\u00a7

    fn clone(&self) -> DebugAsHex

    Returns a copy of 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 DebugAsHex

    Source\u00a7

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

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

    impl PartialEq for DebugAsHex

    Source\u00a7

    fn eq(&self, other: &DebugAsHex) -> 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 DebugAsHex

    Source\u00a7

    impl Eq for DebugAsHex

    Source\u00a7

    impl StructuralPartialEq for DebugAsHex

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

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

    Source\u00a7

    fn clone(&self) -> DebugAsHex

    Returns a copy of 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 DebugAsHex

    Source\u00a7

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

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

    impl PartialEq for DebugAsHex

    Source\u00a7

    fn eq(&self, other: &DebugAsHex) -> 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 DebugAsHex

    Source\u00a7

    impl Eq for DebugAsHex

    Source\u00a7

    impl StructuralPartialEq for DebugAsHex

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

    \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/enum.Sign.html", "source2": "./usr/share/doc/rust-doc/html/alloc/fmt/enum.Sign.html", "unified_diff": "@@ -1,20 +1,20 @@\n-Sign in alloc::fmt - Rust
    alloc::fmt

    Enum Sign

    Source
    pub enum Sign {\n+Sign in alloc::fmt - Rust
    alloc::fmt

    Enum Sign

    Source
    pub enum Sign {\n     Plus,\n     Minus,\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)
    Expand description

    The signedness of a Formatter (or of a FormattingOptions).

    \n

    Variants\u00a7

    \u00a7

    Plus

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Represents the + flag.

    \n
    \u00a7

    Minus

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Represents the - flag.

    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl Clone for Sign

    Source\u00a7

    fn clone(&self) -> Sign

    Returns a copy of 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 Sign

    Source\u00a7

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

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

    impl PartialEq for Sign

    Source\u00a7

    fn eq(&self, other: &Sign) -> 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 Sign

    Source\u00a7

    impl Eq for Sign

    Source\u00a7

    impl StructuralPartialEq for Sign

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

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

    Source\u00a7

    fn clone(&self) -> Sign

    Returns a copy of 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 Sign

    Source\u00a7

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

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

    impl PartialEq for Sign

    Source\u00a7

    fn eq(&self, other: &Sign) -> 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 Sign

    Source\u00a7

    impl Eq for Sign

    Source\u00a7

    impl StructuralPartialEq for Sign

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

    \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": "@@ -90,17 +90,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@@ -277,24 +277,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@@ -316,17 +316,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@@ -398,25 +398,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: 1.84.0) \u00b7 Source

    pub const 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: 1.84.0) \u00b7 Source

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

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

    \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

    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

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

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

    \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

    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

    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,32 +1,32 @@\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>

    Source

    pub fn new(\n+

    Implementations\u00a7

    Source\u00a7

    impl<'a> Formatter<'a>

    Source

    pub fn new(\n write: &'a mut dyn Write,\n options: FormattingOptions,\n ) -> Formatter<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Creates a new formatter with given FormattingOptions.

    \n

    If write is a reference to a formatter, it is recommended to use\n Formatter::with_options instead as this can borrow the underlying\n write, thereby bypassing one layer of indirection.

    \n

    You may alternatively use FormattingOptions::create_formatter().

    \n-
    Source

    pub fn with_options<'b>(\n+

    Source

    pub fn with_options<'b>(\n &'b mut self,\n options: FormattingOptions,\n ) -> Formatter<'b>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Creates a new formatter based on this one with given FormattingOptions.

    \n-
    Source\u00a7

    impl<'a> Formatter<'a>

    1.0.0 \u00b7 Source

    pub fn pad_integral(\n+

    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@@ -57,15 +57,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@@ -81,15 +81,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@@ -98,33 +98,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@@ -139,15 +139,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@@ -164,15 +164,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@@ -184,15 +184,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@@ -205,15 +205,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@@ -227,15 +227,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@@ -246,15 +246,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@@ -264,15 +264,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@@ -280,15 +280,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@@ -310,15 +310,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@@ -332,43 +332,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@@ -390,15 +390,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@@ -407,21 +407,21 @@\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-
    Source

    pub const fn sign(&self) -> Option<Sign>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the sign of this formatter (+ or -).

    \n-
    Source

    pub const fn options(&self) -> FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the formatting options this formatter corresponds to.

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

    pub const fn sign(&self) -> Option<Sign>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the sign of this formatter (+ or -).

    \n+
    Source

    pub const fn options(&self) -> FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the formatting options this formatter corresponds to.

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

    Struct FormattingOptions

    Source
    pub struct FormattingOptions { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)
    Expand description

    Options for formatting.

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

    Struct FormattingOptions

    Source
    pub struct FormattingOptions { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)
    Expand description

    Options for formatting.

    \n

    FormattingOptions is a Formatter without an attached Write trait.\n It is mainly used to construct Formatter instances.

    \n-

    Implementations\u00a7

    Source\u00a7

    impl FormattingOptions

    Source

    pub const fn new() -> FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Construct a new FormatterBuilder with the supplied Write trait\n+

    Implementations\u00a7

    Source\u00a7

    impl FormattingOptions

    Source

    pub const fn new() -> FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Construct a new FormatterBuilder with the supplied Write trait\n object for output that is equivalent to the {} formatting\n specifier:

    \n
      \n
    • no flags,
    • \n
    • filled with spaces,
    • \n
    • no alignment,
    • \n
    • no width,
    • \n
    • no precision, and
    • \n
    • no DebugAsHex output mode.
    • \n
    \n-
    Source

    pub fn sign(&mut self, sign: Option<Sign>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the sign (the + or the - flag).

    \n+
    Source

    pub fn sign(&mut self, sign: Option<Sign>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the sign (the + or the - flag).

    \n
      \n
    • +: This is intended for numeric types and indicates that the sign\n should always be printed. By default only the negative sign of signed\n values is printed, and the sign of positive or unsigned values is\n omitted. This flag indicates that the correct sign (+ or -) should\n always be printed.
    • \n
    • -: Currently not used
    • \n
    \n-
    Source

    pub fn sign_aware_zero_pad(\n+

    Source

    pub fn sign_aware_zero_pad(\n &mut self,\n- sign_aware_zero_pad: bool,\n+ sign_aware_zero_pad: bool,\n ) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or unsets the 0 flag.

    \n

    This is used to indicate for integer formats that the padding to width should both be done with a 0 character as well as be sign-aware

    \n-
    Source

    pub fn alternate(&mut self, alternate: bool) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or unsets the # flag.

    \n+
    Source

    pub fn alternate(&mut self, alternate: bool) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or unsets the # flag.

    \n

    This flag indicates that the \u201calternate\u201d form of printing should be\n used. The alternate forms are:

    \n
      \n
    • Debug : pretty-print the Debug formatting (adds linebreaks and indentation)
    • \n
    • LowerHex as well as UpperHex - precedes the argument with a 0x
    • \n
    • Octal - precedes the argument with a 0b
    • \n
    • Binary - precedes the argument with a 0o
    • \n
    \n-
    Source

    pub fn fill(&mut self, fill: char) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets the fill character.

    \n+
    Source

    pub fn fill(&mut self, fill: char) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets the fill character.

    \n

    The optional fill character and alignment is provided normally in\n conjunction with the width parameter. This indicates that if the value\n being formatted is smaller than width some extra characters will be\n printed around it.

    \n-
    Source

    pub fn align(&mut self, align: Option<Alignment>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the alignment.

    \n+
    Source

    pub fn align(&mut self, align: Option<Alignment>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the alignment.

    \n

    The alignment specifies how the value being formatted should be\n positioned if it is smaller than the width of the formatter.

    \n-
    Source

    pub fn width(&mut self, width: Option<usize>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the width.

    \n+
    Source

    pub fn width(&mut self, width: Option<usize>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the width.

    \n

    This is a parameter for the \u201cminimum width\u201d that the format should take\n up. If the value\u2019s string does not fill up this many characters, then\n the padding specified by FormattingOptions::fill/FormattingOptions::align\n will be used to take up the required space.

    \n-
    Source

    pub fn precision(&mut self, precision: Option<usize>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the precision.

    \n+
    Source

    pub fn precision(&mut self, precision: Option<usize>) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Sets or removes the precision.

    \n
      \n
    • For non-numeric types, this can be considered a \u201cmaximum width\u201d. If\n the resulting string is longer than this width, then it is truncated\n down to this many characters and that truncated value is emitted with\n proper fill, alignment and width if those parameters are set.
    • \n
    • For integral types, this is ignored.
    • \n
    • For floating-point types, this indicates how many digits after the\n decimal point should be printed.
    • \n
    \n-
    Source

    pub fn debug_as_hex(\n+

    Source

    pub fn debug_as_hex(\n &mut self,\n- debug_as_hex: Option<DebugAsHex>,\n+ debug_as_hex: Option<DebugAsHex>,\n ) -> &mut FormattingOptions

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Specifies whether the Debug trait should use lower-/upper-case\n hexadecimal or normal integers

    \n-
    Source

    pub const fn get_sign(&self) -> Option<Sign>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current sign (the + or the - flag).

    \n-
    Source

    pub const fn get_sign_aware_zero_pad(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current 0 flag.

    \n-
    Source

    pub const fn get_alternate(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current # flag.

    \n-
    Source

    pub const fn get_fill(&self) -> char

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current fill character.

    \n-
    Source

    pub const fn get_align(&self) -> Option<Alignment>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current alignment.

    \n-
    Source

    pub const fn get_width(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current width.

    \n-
    Source

    pub const fn get_precision(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current precision.

    \n-
    Source

    pub const fn get_debug_as_hex(&self) -> Option<DebugAsHex>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current precision.

    \n-
    Source

    pub fn create_formatter<'a>(self, write: &'a mut dyn Write) -> Formatter<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Creates a Formatter that writes its output to the given Write trait.

    \n+
    Source

    pub const fn get_sign(&self) -> Option<Sign>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current sign (the + or the - flag).

    \n+
    Source

    pub const fn get_sign_aware_zero_pad(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current 0 flag.

    \n+
    Source

    pub const fn get_alternate(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current # flag.

    \n+
    Source

    pub const fn get_fill(&self) -> char

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current fill character.

    \n+
    Source

    pub const fn get_align(&self) -> Option<Alignment>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current alignment.

    \n+
    Source

    pub const fn get_width(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current width.

    \n+
    Source

    pub const fn get_precision(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current precision.

    \n+
    Source

    pub const fn get_debug_as_hex(&self) -> Option<DebugAsHex>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Returns the current precision.

    \n+
    Source

    pub fn create_formatter<'a>(self, write: &'a mut dyn Write) -> Formatter<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (formatting_options #118117)

    Creates a Formatter that writes its output to the given Write trait.

    \n

    You may alternatively use Formatter::new().

    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl Clone for FormattingOptions

    Source\u00a7

    fn clone(&self) -> FormattingOptions

    Returns a copy of 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 FormattingOptions

    Source\u00a7

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

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

    impl Default for FormattingOptions

    Source\u00a7

    fn default() -> FormattingOptions

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

    impl PartialEq for FormattingOptions

    Source\u00a7

    fn eq(&self, other: &FormattingOptions) -> 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 FormattingOptions

    Source\u00a7

    impl Eq for FormattingOptions

    Source\u00a7

    impl StructuralPartialEq for FormattingOptions

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

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

    Source\u00a7

    fn clone(&self) -> FormattingOptions

    Returns a copy of 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 FormattingOptions

    Source\u00a7

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

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

    impl Default for FormattingOptions

    Source\u00a7

    fn default() -> FormattingOptions

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

    impl PartialEq for FormattingOptions

    Source\u00a7

    fn eq(&self, other: &FormattingOptions) -> 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 FormattingOptions

    Source\u00a7

    impl Eq for FormattingOptions

    Source\u00a7

    impl StructuralPartialEq for FormattingOptions

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

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

    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

    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,183 +110,183 @@\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 GetManyMutError

    Source\u00a7

    impl Debug for SearchStep

    1.28.0 \u00b7 Source\u00a7

    impl Debug for alloc::fmt::Alignment

    Source\u00a7

    impl Debug for DebugAsHex

    Source\u00a7

    impl Debug for Sign

    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.0.0 \u00b7 Source\u00a7

    impl Debug for CString

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

    Source\u00a7

    impl Debug for FormattingOptions

    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 + Sync + Send

    Source\u00a7

    impl<'a> Debug for Utf8Pattern<'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>

    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: Debug, A: Debug + Allocator> Debug for alloc::vec::ExtractIf<'a, T, F, A>

    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 GetManyMutError

    Source\u00a7

    impl Debug for SearchStep

    1.28.0 \u00b7 Source\u00a7

    impl Debug for alloc::fmt::Alignment

    Source\u00a7

    impl Debug for DebugAsHex

    Source\u00a7

    impl Debug for Sign

    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.0.0 \u00b7 Source\u00a7

    impl Debug for CString

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

    Source\u00a7

    impl Debug for FormattingOptions

    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 + Sync + Send

    Source\u00a7

    impl<'a> Debug for Utf8Pattern<'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> 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: Debug, A: Debug + Allocator> Debug for alloc::vec::ExtractIf<'a, T, F, A>

    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 alloc::collections::btree_map::VacantEntry<'_, K, V, A>

    1.12.0 \u00b7 Source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::Entry<'_, K, V, A>

    1.12.0 \u00b7 Source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::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>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::Entry<'_, T, A>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::OccupiedEntry<'_, T, A>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::VacantEntry<'_, T, A>

    1.0.0 \u00b7 Source\u00a7

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

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::binary_heap::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::btree_set::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::IterMut<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::IterMut<'_, T>

    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>

    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>

    Source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for UniqueRc<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 alloc::collections::btree_map::VacantEntry<'_, K, V, A>

    1.12.0 \u00b7 Source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::Entry<'_, K, V, A>

    1.12.0 \u00b7 Source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::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>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::Entry<'_, T, A>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::OccupiedEntry<'_, T, A>

    Source\u00a7

    impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::VacantEntry<'_, T, A>

    1.0.0 \u00b7 Source\u00a7

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

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::binary_heap::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::btree_set::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::IterMut<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::Iter<'_, T>

    1.17.0 \u00b7 Source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::IterMut<'_, T>

    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>

    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>

    Source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for UniqueRc<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,

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -128,14 +128,26 @@\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 _\bG\bG_\be\be_\bt\bt_\bM\bM_\ba\ba_\bn\bn_\by\by_\bM\bM_\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 _\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 _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg_\bA\bA_\bs\bs_\bH\bH_\be\be_\bx\bx *\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_\bi\bi_\bg\bg_\bn\bn *\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,26 +159,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 _\bG\bG_\be\be_\bt\bt_\bM\bM_\ba\ba_\bn\bn_\by\by_\bM\bM_\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 _\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 _\bD\bD_\be\be_\bb\bb_\bu\bu_\bg\bg_\bA\bA_\bs\bs_\bH\bH_\be\be_\bx\bx *\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_\bi\bi_\bg\bg_\bn\bn *\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@@ -201,14 +201,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.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.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.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@@ -335,80 +373,28 @@\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.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.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.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 _\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_\bo\bo_\br\br_\bm\bm_\ba\ba_\bt\bt_\bt\bt_\bi\bi_\bn\bn_\bg\bg_\bO\bO_\bp\bp_\bt\bt_\bi\bi_\bo\bo_\bn\bn_\bs\bs *\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_\by\by_\bn\bn_\bc\bc +\b+ _\bS\bS_\be\be_\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<\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_\bP\bP_\ba\ba_\bt\bt_\bt\bt_\be\be_\br\br_\bn\bn<\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 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@@ -426,14 +412,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@@ -482,20 +482,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@@ -514,14 +508,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@@ -578,26 +578,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@@ -788,14 +788,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@@ -862,20 +868,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

    Source\u00a7

    impl Display for GetManyMutError

    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.35.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 GetManyMutError

    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.35.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>

    Source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for UniqueRc<T, A>

    1.0.0 \u00b7 Source\u00a7

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

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

    Source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for UniqueRc<T, A>

    1.0.0 \u00b7 Source\u00a7

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

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -79,23 +79,23 @@\n \n assert_eq!(\n \"(1.987, 2.983)\",\n format!(\"{}\", Position { longitude: 1.987, latitude: 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_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bG\bG_\be\be_\bt\bt_\bM\bM_\ba\ba_\bn\bn_\by\by_\bM\bM_\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 _\bA\bA_\bs\bs_\bc\bc_\bi\bi_\bi\bi_\bC\bC_\bh\bh_\ba\ba_\br\br *\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_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by 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.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_\bp\bp_\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_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by 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-_\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 _\bG\bG_\be\be_\bt\bt_\bM\bM_\ba\ba_\bn\bn_\by\by_\bM\bM_\bu\bu_\bt\bt_\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 _\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_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by 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_\bi\bi_\bs\bs_\bp\bp_\bl\bl_\ba\ba_\by\by f\bfo\bor\br _\bf\bf_\b3\b3_\b2\b2 *\b**\b**\b**\b*\n 1.0.0 \u00b7 _\bS_\bo_\bu_\br_\bc_\be_\b\u00a7\n@@ -124,14 +124,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.35.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@@ -179,38 +203,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,17 +30,17 @@\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,

    1.84.0 \u00b7 Source\u00a7

    impl<T> LowerExp for NonZero<T>

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

    1.84.0 \u00b7 Source\u00a7

    impl<T> LowerExp for NonZero<T>

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

    Source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for UniqueRc<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>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for UniqueRc<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,17 +30,17 @@\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,

    1.84.0 \u00b7 Source\u00a7

    impl<T> UpperExp for NonZero<T>

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

    1.84.0 \u00b7 Source\u00a7

    impl<T> UpperExp for NonZero<T>

    \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\")?;\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')?;\n writer(&mut buf, 'b')?;\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\")?;\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"}, {"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,31 +265,31 @@\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

    pub fn into_array<const N: usize>(self) -> Option<Rc<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the reference-counted slice into a reference-counted array.

    \n+
    Source

    pub fn into_array<const N: usize>(self) -> Option<Rc<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the reference-counted slice into a reference-counted array.

    \n

    This operation does not reallocate; the underlying array of the slice is simply reinterpreted as an array type.

    \n

    If N is not exactly equal to the length of self, then this method returns None.

    \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@@ -301,31 +301,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@@ -335,17 +335,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@@ -358,28 +358,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@@ -404,15 +404,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@@ -423,15 +423,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@@ -445,64 +445,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@@ -534,39 +534,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@@ -580,15 +580,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@@ -605,30 +605,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@@ -669,28 +669,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@@ -717,15 +717,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@@ -739,29 +739,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@@ -769,36 +769,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@@ -810,88 +810,88 @@\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.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Rc<[T]>

    Source\u00a7

    fn from(v: &mut [T]) -> Rc<[T]>

    Allocates a reference-counted slice and fills it by cloning v\u2019s items.

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Rc<[T]>

    Source\u00a7

    fn from(v: &mut [T]) -> Rc<[T]>

    Allocates a reference-counted slice and fills it by cloning v\u2019s items.

    \n
    \u00a7Example
    \n
    let mut original = [1, 2, 3];\n let original: &mut [i32] = &mut original;\n let shared: Rc<[i32]> = Rc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Rc<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Rc<CStr>

    Converts a &mut CStr into a Rc<CStr>,\n+

    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Rc<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Rc<CStr>

    Converts a &mut CStr into a Rc<CStr>,\n by copying the contents into a newly allocated Rc.

    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Rc<str>

    Source\u00a7

    fn from(v: &mut str) -> Rc<str>

    Allocates a reference-counted string slice and copies v into it.

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Rc<str>

    Source\u00a7

    fn from(v: &mut str) -> Rc<str>

    Allocates a reference-counted string slice and copies v into it.

    \n
    \u00a7Example
    \n
    let mut original = String::from(\"statue\");\n let original: &mut str = &mut original;\n let shared: Rc<str> = Rc::from(original);\n assert_eq!(\"statue\", &shared[..]);
    \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@@ -901,103 +901,103 @@\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 u8)

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

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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,123 +21,123 @@\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: ?Sized, A: Allocator> AsMut<T> for UniqueRc<T, A>

    Source\u00a7

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

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

    impl<T: ?Sized, A: Allocator> AsRef<T> for UniqueRc<T, A>

    Source\u00a7

    fn as_ref(&self) -> &T

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

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

    Source\u00a7

    fn borrow(&self) -> &T

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

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for UniqueRc<T, A>

    Source\u00a7

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

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

    impl<T: ?Sized + Debug, A: 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 + Display, A: Allocator> Display 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> Drop for UniqueRc<T, A>

    Source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for UniqueRc<T, A>

    Source\u00a7

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

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

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

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

    impl<T: ?Sized + Ord, A: Allocator> Ord for UniqueRc<T, A>

    Source\u00a7

    fn cmp(&self, other: &UniqueRc<T, A>) -> Ordering

    Comparison for two UniqueRcs.

    \n+

    Trait Implementations\u00a7

    Source\u00a7

    impl<T: ?Sized, A: Allocator> AsMut<T> for UniqueRc<T, A>

    Source\u00a7

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

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

    impl<T: ?Sized, A: Allocator> AsRef<T> for UniqueRc<T, A>

    Source\u00a7

    fn as_ref(&self) -> &T

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

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

    Source\u00a7

    fn borrow(&self) -> &T

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

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for UniqueRc<T, A>

    Source\u00a7

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

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

    impl<T: ?Sized + Debug, A: 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 + Display, A: Allocator> Display 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> Drop for UniqueRc<T, A>

    Source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    Source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for UniqueRc<T, A>

    Source\u00a7

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

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

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

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

    impl<T: ?Sized + Ord, A: Allocator> Ord for UniqueRc<T, A>

    Source\u00a7

    fn cmp(&self, other: &UniqueRc<T, A>) -> Ordering

    Comparison for two UniqueRcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n use std::cmp::Ordering;\n \n let five = UniqueRc::new(5);\n \n assert_eq!(Ordering::Less, five.cmp(&UniqueRc::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
    Source\u00a7

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

    Source\u00a7

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

    Equality for two UniqueRcs.

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

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

    Source\u00a7

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

    Equality for two UniqueRcs.

    \n

    Two UniqueRcs are equal if their inner values are equal.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five == UniqueRc::new(5));
    \n-
    Source\u00a7

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

    Inequality for two UniqueRcs.

    \n+
    Source\u00a7

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

    Inequality for two UniqueRcs.

    \n

    Two UniqueRcs are not equal if their inner values are not equal.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five != UniqueRc::new(6));
    \n-
    Source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for UniqueRc<T, A>

    Source\u00a7

    fn partial_cmp(&self, other: &UniqueRc<T, A>) -> Option<Ordering>

    Partial comparison for two UniqueRcs.

    \n+
    Source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for UniqueRc<T, A>

    Source\u00a7

    fn partial_cmp(&self, other: &UniqueRc<T, A>) -> Option<Ordering>

    Partial comparison for two UniqueRcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n use std::cmp::Ordering;\n \n let five = UniqueRc::new(5);\n \n assert_eq!(Some(Ordering::Less), five.partial_cmp(&UniqueRc::new(6)));
    \n-
    Source\u00a7

    fn lt(&self, other: &UniqueRc<T, A>) -> bool

    Less-than comparison for two UniqueRcs.

    \n+
    Source\u00a7

    fn lt(&self, other: &UniqueRc<T, A>) -> bool

    Less-than comparison for two UniqueRcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five < UniqueRc::new(6));
    \n-
    Source\u00a7

    fn le(&self, other: &UniqueRc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two UniqueRcs.

    \n+
    Source\u00a7

    fn le(&self, other: &UniqueRc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two UniqueRcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five <= UniqueRc::new(5));
    \n-
    Source\u00a7

    fn gt(&self, other: &UniqueRc<T, A>) -> bool

    Greater-than comparison for two UniqueRcs.

    \n+
    Source\u00a7

    fn gt(&self, other: &UniqueRc<T, A>) -> bool

    Greater-than comparison for two UniqueRcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five > UniqueRc::new(4));
    \n-
    Source\u00a7

    fn ge(&self, other: &UniqueRc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two UniqueRcs.

    \n+
    Source\u00a7

    fn ge(&self, other: &UniqueRc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two UniqueRcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    \u00a7Examples
    \n
    #![feature(unique_rc_arc)]\n use std::rc::UniqueRc;\n \n let five = UniqueRc::new(5);\n \n assert!(five >= UniqueRc::new(5));
    \n-
    Source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer 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 + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<UniqueRc<U, A>> for UniqueRc<T, A>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> DerefPure for UniqueRc<T, A>

    Source\u00a7

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

    Source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for UniqueRc<T, A>

    Source\u00a7

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

    Source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for UniqueRc<T, A>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for UniqueRc<T, A>

    Source\u00a7

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

    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> !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+
    Source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer 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 + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<UniqueRc<U, A>> for UniqueRc<T, A>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> DerefPure for UniqueRc<T, A>

    Source\u00a7

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

    Source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for UniqueRc<T, A>

    Source\u00a7

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

    Source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for UniqueRc<T, A>

    Source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for UniqueRc<T, A>

    Source\u00a7

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

    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> !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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    Source\u00a7

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

    Source\u00a7

    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.Weak.html", "source2": "./usr/share/doc/rust-doc/html/alloc/rc/struct.Weak.html", "unified_diff": "@@ -1,39 +1,39 @@\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.

    \n

    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@@ -54,18 +54,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@@ -73,15 +73,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 behavior.\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@@ -91,15 +91,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@@ -111,15 +111,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@@ -140,18 +140,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@@ -159,19 +159,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@@ -193,29 +193,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@@ -227,24 +227,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 u8)

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

    \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/enum.GetManyMutError.html", "source2": "./usr/share/doc/rust-doc/html/alloc/slice/enum.GetManyMutError.html", "unified_diff": "@@ -1,11 +1,11 @@\n-GetManyMutError in alloc::slice - Rust
    alloc::slice

    Enum GetManyMutError

    Source
    pub enum GetManyMutError {\n+GetManyMutError in alloc::slice - Rust
    alloc::slice

    Enum GetManyMutError

    Source
    pub enum GetManyMutError {\n     IndexOutOfBounds,\n     OverlappingIndices,\n-}
    \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)
    Expand description

    The error type returned by get_many_mut.

    \n+}
    \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)
    Expand description

    The error type returned by get_many_mut.

    \n

    It indicates one of two possible errors:

    \n
      \n
    • An index is out-of-bounds.
    • \n
    • The same index appeared multiple times in the array\n (or different but overlapping indices when ranges are provided).
    • \n
    \n

    \u00a7Examples

    \n@@ -13,22 +13,22 @@\n use std::slice::GetManyMutError;\n \n let v = &mut [1, 2, 3];\n assert_eq!(v.get_many_mut([0, 999]), Err(GetManyMutError::IndexOutOfBounds));\n assert_eq!(v.get_many_mut([1, 1]), Err(GetManyMutError::OverlappingIndices));
    \n

    Variants\u00a7

    \u00a7

    IndexOutOfBounds

    \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

    An index provided was out-of-bounds for the slice.

    \n
    \u00a7

    OverlappingIndices

    \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

    Two indices provided were overlapping.

    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl Clone for GetManyMutError

    Source\u00a7

    fn clone(&self) -> GetManyMutError

    Returns a copy of 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 GetManyMutError

    Source\u00a7

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

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

    impl Display for GetManyMutError

    Source\u00a7

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

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

    impl Error for GetManyMutError

    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 GetManyMutError

    Source\u00a7

    fn eq(&self, other: &GetManyMutError) -> 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 GetManyMutError

    Source\u00a7

    impl StructuralPartialEq for GetManyMutError

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

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

    Source\u00a7

    fn clone(&self) -> GetManyMutError

    Returns a copy of 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 GetManyMutError

    Source\u00a7

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

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

    impl Display for GetManyMutError

    Source\u00a7

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

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

    impl Error for GetManyMutError

    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 GetManyMutError

    Source\u00a7

    fn eq(&self, other: &GetManyMutError) -> 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 GetManyMutError

    Source\u00a7

    impl StructuralPartialEq for GetManyMutError

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

    \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

    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

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

    Enums\u00a7

    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

    Enums\u00a7

    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,254 +1,254 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,251 +1,251 @@\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- &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- &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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 Source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\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+ &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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n- &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+ &mut self,\n+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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- &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- &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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\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+ &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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,247 +1,247 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,262 +1,262 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,239 +1,239 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,231 +1,231 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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

    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

    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,10 +1,10 @@\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 need a slice to call the `iter` method on:\n let slice = &[1, 2, 3];\n \n // Then we call `iter` on the slice to get the `Iter` struct,\n@@ -13,15 +13,15 @@\n     println!(\"{element}\");\n }\n \n // This for loop actually already works without calling `iter`:\n for element in slice {\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 need a slice to call the `iter` method on:\n // struct (`&[usize]` here):\n@@ -38,243 +38,243 @@\n // so `as_slice` only returns the last two elements of the slice,\n // and so this prints \"[2, 3]\":\n println!(\"{:?}\", iter.as_slice());\n \n // The underlying slice has not been modified and still contains three elements,\n // so this prints \"[1, 2, 3]\":\n println!(\"{:?}\", 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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 need a slice to call the `iter_mut` method on:\n let slice = &mut [1, 2, 3];\n \n // Then we call `iter_mut` on the slice to get the `IterMut` struct,\n // 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 need a slice to call the `iter_mut` method on:\n let mut slice = &mut [1, 2, 3];\n@@ -32,15 +32,15 @@\n // Here the iterator does not contain the first element of the slice any more,\n // so `into_slice` only returns the last two elements of the slice,\n // and so this prints \"[2, 3]\":\n println!(\"{:?}\", iter.into_slice());\n // The underlying slice still contains three elements, but its first element\n // was increased by 1, so this prints \"[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@@ -49,15 +49,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@@ -75,243 +75,243 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,262 +1,262 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,242 +1,242 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,257 +1,257 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,245 +1,245 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,240 +1,240 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,266 +1,266 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,258 +1,258 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,250 +1,250 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,244 +1,244 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,239 +1,239 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,243 +1,243 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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+

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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-

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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+

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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 u8)

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

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

    Enum Utf8Pattern

    Source
    pub enum Utf8Pattern<'a> {\n-    StringPattern(&'a [u8]),\n-    CharPattern(char),\n+Utf8Pattern in alloc::str::pattern - Rust
    alloc::str::pattern

    Enum Utf8Pattern

    Source
    pub enum Utf8Pattern<'a> {\n+    StringPattern(&'a [u8]),\n+    CharPattern(char),\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Result of calling Pattern::as_utf8_pattern().\n Can be used for inspecting the contents of a Pattern in cases\n where the underlying representation can be represented as UTF-8.

    \n-

    Variants\u00a7

    \u00a7

    StringPattern(&'a [u8])

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Type returned by String and str types.

    \n-
    \u00a7

    CharPattern(char)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Type returned by char types.

    \n-

    Trait Implementations\u00a7

    Source\u00a7

    impl<'a> Clone for Utf8Pattern<'a>

    Source\u00a7

    fn clone(&self) -> Utf8Pattern<'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 Utf8Pattern<'a>

    Source\u00a7

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

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

    impl<'a> PartialEq for Utf8Pattern<'a>

    Source\u00a7

    fn eq(&self, other: &Utf8Pattern<'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.
    Source\u00a7

    impl<'a> Copy for Utf8Pattern<'a>

    Source\u00a7

    impl<'a> Eq for Utf8Pattern<'a>

    Source\u00a7

    impl<'a> StructuralPartialEq for Utf8Pattern<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Pattern<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Pattern<'a>

    \u00a7

    impl<'a> Send for Utf8Pattern<'a>

    \u00a7

    impl<'a> Sync for Utf8Pattern<'a>

    \u00a7

    impl<'a> Unpin for Utf8Pattern<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Pattern<'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 u8)

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

    Variants\u00a7

    \u00a7

    StringPattern(&'a [u8])

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Type returned by String and str types.

    \n+
    \u00a7

    CharPattern(char)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Type returned by char types.

    \n+

    Trait Implementations\u00a7

    Source\u00a7

    impl<'a> Clone for Utf8Pattern<'a>

    Source\u00a7

    fn clone(&self) -> Utf8Pattern<'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 Utf8Pattern<'a>

    Source\u00a7

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

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

    impl<'a> PartialEq for Utf8Pattern<'a>

    Source\u00a7

    fn eq(&self, other: &Utf8Pattern<'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.
    Source\u00a7

    impl<'a> Copy for Utf8Pattern<'a>

    Source\u00a7

    impl<'a> Eq for Utf8Pattern<'a>

    Source\u00a7

    impl<'a> StructuralPartialEq for Utf8Pattern<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Pattern<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Pattern<'a>

    \u00a7

    impl<'a> Send for Utf8Pattern<'a>

    \u00a7

    impl<'a> Sync for Utf8Pattern<'a>

    \u00a7

    impl<'a> Unpin for Utf8Pattern<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Pattern<'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 u8)

    \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@@ -21,8 +21,8 @@\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 u8)

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

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

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

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

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

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

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

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

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

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

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

    \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,32 +1,32 @@\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-    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>> { ... }\n+    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>> { ... }\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 behavior 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 behaviors.

    \n
    \n \n \n \n \n \n@@ -51,48 +51,48 @@\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-
    Source

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Returns the pattern as utf-8 bytes if possible.

    \n-

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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+
    Source

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Returns the pattern as utf-8 bytes if possible.

    \n+

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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(&['o', 'l'][..]), Some(2));\n assert_eq!(\"Hello world\".find(&['h', 'w'][..]), Some(6));
    \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,225 +1,225 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,235 +24,235 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,243 +1,243 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,224 +1,224 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,222 +1,222 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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

    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

    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,222 +1,222 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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

    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

    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,222 +1,222 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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

    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

    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,244 +1,244 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,231 +1,231 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,247 +1,247 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,247 +1,247 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

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

    \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

    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

    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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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,260 +1,260 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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,260 +1,260 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

    \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,258 +1,258 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,246 +1,246 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,263 +1,263 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,247 +1,247 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,258 +1,258 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,245 +1,245 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

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

    \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 documentation 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,228 +12,228 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

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

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

    \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

    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

    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-

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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>

    Source\u00a7

    impl FromStr for CString

    1.0.0 \u00b7 Source\u00a7

    impl FromStr for String

    \n+

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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

    Source\u00a7

    impl FromStr for CString

    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": "@@ -158,14 +158,22 @@\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_\b1\b1_\b2\b2_\b8\b8 *\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 _\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+_\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 _\bC\bC_\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= _\bN\bN_\bu\bu_\bl\bl_\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@@ -222,15 +230,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-_\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 _\bC\bC_\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= _\bN\bN_\bu\bu_\bl\bl_\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,233 +1,233 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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 max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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

    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

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

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

    \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

    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

    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+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+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,139 +2333,139 @@\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.
    Source\u00a7

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Returns the pattern as utf-8 bytes if possible.
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \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.
    Source\u00a7

    fn as_utf8_pattern(&self) -> Option<Utf8Pattern<'_>>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Returns the pattern as utf-8 bytes if possible.
    Source\u00a7

    impl TryFrom<CString> for String

    Source\u00a7

    fn try_from(value: CString) -> Result<Self, Self::Error>

    Converts a CString into a String if it contains valid UTF-8 data.

    \n

    This method is equivalent to CString::into_string.

    \n-
    Source\u00a7

    type Error = IntoStringError

    The type returned in the event of a conversion error.
    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 u8)

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

    The type returned in the event of a conversion error.
    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 u8)

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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/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,31 +451,31 @@\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

    pub fn into_array<const N: usize>(self) -> Option<Arc<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the reference-counted slice into a reference-counted array.

    \n+
    Source

    pub fn into_array<const N: usize>(self) -> Option<Arc<[T; N]>>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_array #133508)

    Converts the reference-counted slice into a reference-counted array.

    \n

    This operation does not reallocate; the underlying array of the slice is simply reinterpreted as an array type.

    \n

    If N is not exactly equal to the length of self, then this method returns None.

    \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@@ -488,31 +488,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@@ -522,17 +522,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@@ -545,28 +545,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@@ -590,15 +590,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@@ -610,15 +610,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@@ -634,64 +634,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@@ -723,51 +723,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@@ -783,15 +783,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@@ -811,28 +811,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@@ -859,15 +859,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@@ -881,30 +881,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@@ -945,31 +945,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@@ -977,36 +977,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@@ -1018,89 +1018,89 @@\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.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Arc<[T]>

    Source\u00a7

    fn from(v: &mut [T]) -> Arc<[T]>

    Allocates a reference-counted slice and fills it by cloning v\u2019s items.

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl<T: Clone> From<&mut [T]> for Arc<[T]>

    Source\u00a7

    fn from(v: &mut [T]) -> Arc<[T]>

    Allocates a reference-counted slice and fills it by cloning v\u2019s items.

    \n
    \u00a7Example
    \n
    let mut original = [1, 2, 3];\n let original: &mut [i32] = &mut original;\n let shared: Arc<[i32]> = Arc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Arc<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Arc<CStr>

    Converts a &mut CStr into a Arc<CStr>,\n+

    1.84.0 \u00b7 Source\u00a7

    impl From<&mut CStr> for Arc<CStr>

    Source\u00a7

    fn from(s: &mut CStr) -> Arc<CStr>

    Converts a &mut CStr into a Arc<CStr>,\n by copying the contents into a newly allocated Arc.

    \n-
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Arc<str>

    Source\u00a7

    fn from(v: &mut str) -> Arc<str>

    Allocates a reference-counted str and copies v into it.

    \n+
    1.84.0 \u00b7 Source\u00a7

    impl From<&mut str> for Arc<str>

    Source\u00a7

    fn from(v: &mut str) -> Arc<str>

    Allocates a reference-counted str and copies v into it.

    \n
    \u00a7Example
    \n
    let mut original = String::from(\"eggplant\");\n let original: &mut str = &mut original;\n let shared: Arc<str> = Arc::from(original);\n assert_eq!(\"eggplant\", &shared[..]);
    \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@@ -1110,103 +1110,103 @@\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 u8)

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

    \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<P, T> Receiver for P
    where\n- P: Deref<Target = T> + ?Sized,\n- T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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<P, T> Receiver for P
    where\n+ P: Deref<Target = T> + ?Sized,\n+ T: ?Sized,

    Source\u00a7

    type Target = T

    \ud83d\udd2cThis is a nightly-only experimental API. (arbitrary_self_types #44874)
    The target type on which the method may be called.
    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

    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,42 +1,42 @@\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.

    \n

    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@@ -57,18 +57,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@@ -76,15 +76,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 behavior.\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@@ -94,15 +94,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@@ -114,15 +114,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@@ -144,18 +144,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@@ -163,25 +163,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@@ -203,30 +203,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@@ -238,28 +238,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 u8)

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

    \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

    Dyn Compatibility\u00a7

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called \"object safety\", so 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,238 +23,238 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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": "@@ -2,229 +2,229 @@\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<'a, T, F, A: Allocator> ExtractIf<'a, T, F, 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, F: Debug, A: Debug + Allocator> Debug for ExtractIf<'a, T, F, A>

    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>

    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+

    Implementations\u00a7

    Source\u00a7

    impl<'a, T, F, A: Allocator> ExtractIf<'a, T, F, 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, F: Debug, A: Debug + Allocator> Debug for ExtractIf<'a, T, F, A>

    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>

    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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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 max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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,261 +1,261 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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 u8)

    \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,249 +1,249 @@\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(self, separator: Self::Item) -> Intersperse<Self>
    where\n- Self: Sized,\n- Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n-items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 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(self, separator: Self::Item) -> Intersperse<Self>
    where\n+ Self: Sized,\n+ Self::Item: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places a copy of separator between adjacent\n+items of the original iterator. Read more
    Source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 Source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 Source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 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
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n- Self: Sized,\n- Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 Source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 Source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 Source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 Source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 Source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    1.29.0 \u00b7 Source\u00a7

    fn flatten(self) -> Flatten<Self>
    where\n+ Self: Sized,\n+ Self::Item: IntoIterator,

    Creates an iterator that flattens nested structure. Read more
    Source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 Source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 Source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 Source\u00a7

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

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 Source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    Source\u00a7

    fn try_collect<B>(\n &mut self,\n-) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n- Self: Sized,\n- Self::Item: Try,\n- <Self::Item as Try>::Residual: Residual<B>,\n- B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n-a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- 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+) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
    where\n+ Self: Sized,\n+ Self::Item: Try,\n+ <Self::Item as Try>::Residual: Residual<B>,\n+ B: FromIterator<<Self::Item as Try>::Output>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_collect #94047)
    Fallibly transforms an iterator into a collection, short circuiting if\n+a failure is encountered. Read more
    Source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 Source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ 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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n- Self: Sized,\n- Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 Source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n- I: IntoIterator<Item = Self::Item>,\n- Self::Item: Ord,\n- Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n-of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::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.0.0 \u00b7 Source\u00a7

    fn max(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the maximum element of an iterator. Read more
    1.0.0 \u00b7 Source\u00a7

    fn min(self) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ Self::Item: Ord,

    Returns the minimum element of an iterator. Read more
    1.6.0 \u00b7 Source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 Source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 Source\u00a7

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

    Returns 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
    1.5.0 \u00b7 Source\u00a7

    fn cmp<I>(self, other: I) -> Ordering
    where\n+ I: IntoIterator<Item = Self::Item>,\n+ Self::Item: Ord,\n+ Self: Sized,

    Lexicographically compares the elements of this Iterator with those\n+of another. Read more
    Source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 Source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::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(self) -> bool
    where\n- Self: Sized,\n- Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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(self) -> bool
    where\n+ Self: Sized,\n+ Self::Item: PartialOrd,

    Checks if the elements of this iterator are sorted. 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
    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