crates.io / itertools / 0.15.0

itertools 0.15.0

Source
https://github.com/rust-itertools/itertools
Tag scanned
v0.15.0
Compared with
v0.14.0 (0 signals introduced since)
Files
79 scanned, 4 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 12 info
Scan time
0.2 s
LLM review
LLM review by claude-haiku-5-5 (Anthropic): nothing at warn or critical to review.
Disclude version
4.1.0
Scanned (UTC)
2026-10-22 22:03

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info long-line CHANGELOG.md:344:1

    line length 684 characters (raw pass, confidence 0.50)

      - Added [`.dedup_by()`]https://docs.rs/itertools/0.8.1/itertools/trait.Itertools.html#method.dedup_by, [`.merge_by()`]https://docs.rs/itertools/0.8.1/itertools/trait.Itertools.html#method.merge_by and [`.kmerge_by()`]https://docs.rs/itertools/0.8.1/itertools/trait.Itertools.html#method.kmerge_by adaptors that w
  2. info identifier-low-length src/cons_tuples_impl.rs:1:1

    34 of 84 non-conventional identifiers are single-character (40%) (token pass, confidence 0.50)

  3. info unicode-homoglyph src/lib.rs:1376:47

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        /// let it = (0..2).cartesian_product("αβ".chars());
        /// itertools::assert_equal(it, vec![(0, 'α'), (0, 'β'), (1, 'α'), (1, 'β')]);
        /// ```
        fn cartesian_product<J>(self, other: J) -> Product<Self, J::IntoIter>
  4. info unicode-homoglyph src/lib.rs:1376:69

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        /// let it = (0..2).cartesian_product("αβ".chars());
        /// itertools::assert_equal(it, vec![(0, 'α'), (0, 'β'), (1, 'α'), (1, 'β')]);
        /// ```
        fn cartesian_product<J>(self, other: J) -> Product<Self, J::IntoIter>
  5. info unicode-homoglyph src/lib.rs:2394:21

    identifier `Hα` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        ///
        /// let text = "Hα";
        /// assert_eq!(text.chars().find_position(|ch| ch.is_lowercase()), Some((1, 'α')));
        /// ```
  6. info unicode-mixed-script src/lib.rs:2394:21

    identifier `Hα` mixes scripts: Latin + Greek (in string/comment) (raw pass, confidence 0.40)

        ///
        /// let text = "Hα";
        /// assert_eq!(text.chars().find_position(|ch| ch.is_lowercase()), Some((1, 'α')));
        /// ```
  7. info unicode-homoglyph src/lib.rs:2395:82

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        /// let text = "Hα";
        /// assert_eq!(text.chars().find_position(|ch| ch.is_lowercase()), Some((1, 'α')));
        /// ```
        fn find_position<P>(&mut self, mut pred: P) -> Option<(usize, Self::Item)>
  8. info identifier-low-length src/ziptuple.rs:1:1

    126 of 273 non-conventional identifiers are single-character (46%) (token pass, confidence 0.50)

  9. info unicode-homoglyph tests/test_core.rs:68:36

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        let mut prod = iproduct!(s.chars());
        assert_eq!(prod.next(), Some(('α',)));
        assert_eq!(prod.next(), Some(('β',)));
        assert!(prod.next().is_none());
  10. info unicode-homoglyph tests/test_core.rs:78:35

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        let mut prod = iproduct!(s.chars(), 0..2);
        assert!(prod.next() == Some(('α', 0)));
        assert!(prod.next() == Some(('α', 1)));
        assert!(prod.next() == Some(('β', 0)));
  11. info unicode-homoglyph tests/test_core.rs:79:35

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

        assert!(prod.next() == Some(('α', 0)));
        assert!(prod.next() == Some(('α', 1)));
        assert!(prod.next() == Some(('β', 0)));
        assert!(prod.next() == Some(('β', 1)));
  12. info unicode-homoglyph tests/test_core.rs:250:14

    identifier `α` contains homoglyph candidates: α (03B1)→a (in string/comment) (raw pass, confidence 0.35)

    fn repeatn() {
        let s = "α";
        let mut it = it::repeat_n(s, 3);
        assert_eq!(it.len(), 3);

Reproduce This Scan

Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.1.0
git clone https://github.com/rust-itertools/itertools itertools && cd itertools
git checkout v0.15.0
disclude scan --severity info --diff v0.14.0 .