#re-exports #general-purpose

no-std iter_tools

Collection of general purpose tools to iterate. Currently it simply reexports itertools.

48 breaking releases

0.50.0 Apr 18, 2026
0.48.0 Apr 18, 2026
0.47.0 Mar 31, 2026
0.43.0 Nov 24, 2025
0.1.0 Jan 11, 2022

#1392 in Algorithms

Download history 8269/week @ 2026-04-22 7645/week @ 2026-04-29 7087/week @ 2026-05-06 6073/week @ 2026-05-13 8305/week @ 2026-05-20 6000/week @ 2026-05-27 4185/week @ 2026-06-03 4209/week @ 2026-06-10 2856/week @ 2026-06-17 5229/week @ 2026-06-24 4703/week @ 2026-07-01 5179/week @ 2026-07-08 2822/week @ 2026-07-15 7039/week @ 2026-07-22 6724/week @ 2026-07-29 6417/week @ 2026-08-05

23,798 downloads per month
Used in 63 crates (11 directly)

MIT license

29KB
296 lines

Module :: iter_tools

experimental rust-status docs.rs Open in Gitpod discord

Collection of general purpose tools to iterate. Currently it simply reexports itertools.

Basic use-case

# #[ cfg( feature = "itertools" ) ]
# {
  use iter_tools::*;

  /* standard functions */
  let vec = vec![ 5, 1, -2 ];
  let min = min( &vec );
  assert_eq!( *min.unwrap(), -2 );

  /* non standard functions */
  let vec = vec![ 5, 1, -2 ];
  let added = vec![ "a", "b", "c" ];
  let mut result = vec![];
  let zipped = zip( &vec, &added );
  for ( left, right ) in zipped
  {
    result.push( ( *left, *right ) );
  }
  assert_eq!( result, vec![ ( 5, "a" ), ( 1, "b" ), ( -2, "c" ) ] );
# }

To add to your project

cargo add iter_tools

Try out from the repository

git clone https://github.com/Wandalen/wTools
cd wTools
cd examples/iter_tools_trivial
cargo run

Dependencies

~130KB