Bug: 179100895

Clone this repo:
  1. 06b31b1 Update TEST_MAPPING by Jeff Vander Stoep · 7 days ago master
  2. 79f88bd Merge "Upgrade itertools to 0.10.5" by Treehugger Robot · 8 weeks ago main-16k-with-phones
  3. 36c9ead Upgrade itertools to 0.10.5 by Jeff Vander Stoep · 8 weeks ago
  4. fa6a05c Merge "Update TEST_MAPPING" am: 60cd39ee56 am: 4ba3f52e9a am: fa1af4a035 am: f3b2dd34f5 by Treehugger Robot · 8 months ago
  5. f3b2dd3 Merge "Update TEST_MAPPING" am: 60cd39ee56 am: 4ba3f52e9a am: fa1af4a035 by Treehugger Robot · 8 months ago


Extra iterator adaptors, functions and macros.

Please read the API documentation here.

build_status crates.io

How to use with Cargo:

itertools = "0.10.5"

How to use in your crate:

use itertools::Itertools;

How to contribute

  • Fix a bug or implement a new thing
  • Include tests for your new feature, preferably a QuickCheck test
  • Make a Pull Request

For new features, please first consider filing a PR to rust-lang/rust, adding your new feature to the Iterator trait of the standard library, if you believe it is reasonable. If it isn‘t accepted there, proposing it for inclusion in itertools is a good idea. The reason for doing is this is so that we avoid future breakage as with .flatten(). However, if your feature involves heap allocation, such as storing elements in a Vec<T>, then it can’t be accepted into libcore, and you should propose it for itertools directly instead.


Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 https://www.apache.org/licenses/LICENSE-2.0 or the MIT license https://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.