range-set-blaze 0.5.0

Integer sets as fast, sorted integer ranges; Maps with integer-range keys; Full set operations
Documentation
error[E0277]: the trait bound `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]: SortedDisjoint<_>` is not satisfied
 --> tests/ui/union_intersection.rs:4:36
  |
4 |     let _u = SortedDisjoint::union([[1..=3, 2..=4].into_iter()]);
  |              --------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SortedDisjoint<_>` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`
  |              |
  |              required by a bound introduced by this call
  |
  = help: the following other types implement trait `SortedDisjoint<T>`:
            CheckSortedDisjoint<T, I>
            DynSortedDisjoint<'a, T>
            IntoRangesIter<T>
            NotIter<T, I>
            RangesIter<'_, T>
            UnionIter<T, I>
            itertools::tee::Tee<I>

error[E0277]: `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]` is not an iterator
 --> tests/ui/union_intersection.rs:4:14
  |
4 |     let _u = SortedDisjoint::union([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^ `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]` is not an iterator; try calling `.into_iter()` or `.iter()`
  |
  = help: the trait `Iterator` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`

error[E0061]: this function takes 2 arguments but 1 argument was supplied
 --> tests/ui/union_intersection.rs:4:14
  |
4 |     let _u = SortedDisjoint::union([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^------------------------------ an argument is missing
  |
note: method defined here
 --> src/sorted_disjoint.rs
  |
  |     fn union<R>(self, other: R) -> BitOrMerge<T, Self, R::IntoIter>
  |        ^^^^^
help: provide the argument
    |
4   |     let _u = SortedDisjoint::union([[1..=3, 2..=4].into_iter()], /* other */);
    |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0277]: the trait bound `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]: SortedDisjoint<_>` is not satisfied
 --> tests/ui/union_intersection.rs:4:14
  |
4 |     let _u = SortedDisjoint::union([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SortedDisjoint<_>` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`
  |
  = help: the following other types implement trait `SortedDisjoint<T>`:
            CheckSortedDisjoint<T, I>
            DynSortedDisjoint<'a, T>
            IntoRangesIter<T>
            NotIter<T, I>
            RangesIter<'_, T>
            UnionIter<T, I>
            itertools::tee::Tee<I>
note: required by a bound in `Merge`
 --> src/merge.rs
  |
  | pub struct Merge<T, L, R>
  |            ----- required by a bound in this struct
...
  |     L: SortedDisjoint<T>,
  |        ^^^^^^^^^^^^^^^^^ required by this bound in `Merge`

error[E0277]: the trait bound `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]: SortedDisjoint<_>` is not satisfied
 --> tests/ui/union_intersection.rs:5:43
  |
5 |     let _i = SortedDisjoint::intersection([[1..=3, 2..=4].into_iter()]);
  |              ---------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SortedDisjoint<_>` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`
  |              |
  |              required by a bound introduced by this call
  |
  = help: the following other types implement trait `SortedDisjoint<T>`:
            CheckSortedDisjoint<T, I>
            DynSortedDisjoint<'a, T>
            IntoRangesIter<T>
            NotIter<T, I>
            RangesIter<'_, T>
            UnionIter<T, I>
            itertools::tee::Tee<I>

error[E0277]: `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]` is not an iterator
 --> tests/ui/union_intersection.rs:5:14
  |
5 |     let _i = SortedDisjoint::intersection([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]` is not an iterator; try calling `.into_iter()` or `.iter()`
  |
  = help: the trait `Iterator` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`

error[E0061]: this function takes 2 arguments but 1 argument was supplied
 --> tests/ui/union_intersection.rs:5:14
  |
5 |     let _i = SortedDisjoint::intersection([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------ an argument is missing
  |
note: method defined here
 --> src/sorted_disjoint.rs
  |
  |     fn intersection<R>(self, other: R) -> BitAndMerge<T, Self, R::IntoIter>
  |        ^^^^^^^^^^^^
help: provide the argument
    |
5   |     let _i = SortedDisjoint::intersection([[1..=3, 2..=4].into_iter()], /* other */);
    |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0277]: the trait bound `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]: SortedDisjoint<_>` is not satisfied
 --> tests/ui/union_intersection.rs:5:14
  |
5 |     let _i = SortedDisjoint::intersection([[1..=3, 2..=4].into_iter()]);
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SortedDisjoint<_>` is not implemented for `[std::array::IntoIter<RangeInclusive<{integer}>, 2>; 1]`
  |
  = help: the following other types implement trait `SortedDisjoint<T>`:
            CheckSortedDisjoint<T, I>
            DynSortedDisjoint<'a, T>
            IntoRangesIter<T>
            NotIter<T, I>
            RangesIter<'_, T>
            UnionIter<T, I>
            itertools::tee::Tee<I>
note: required by a bound in `NotIter`
 --> src/not_iter.rs
  |
  | pub struct NotIter<T, I>
  |            ------- required by a bound in this struct
...
  |     I: SortedDisjoint<T>,
  |        ^^^^^^^^^^^^^^^^^ required by this bound in `NotIter`