error[E0599]: the method `union` exists for struct `Tee<Iter<'_, ({integer}, {integer})>>`, but its trait bounds were not satisfied
 --> tests/ui/tee.rs:8:17
  |
8 |     let _c = a0.union(a1);
  |                 ^^^^^ method cannot be called on `Tee<Iter<'_, ({integer}, {integer})>>` due to unsatisfied trait bounds
  |
 ::: $RUST/core/src/slice/iter.rs
  |
  | pub struct Iter<'a, T: 'a> {
  | -------------------------- doesn't satisfy `_: SortedDisjoint<_>`
  |
 ::: $CARGO/itertools-0.10.5/src/tee.rs
  |
  | pub struct Tee<I>
  | -----------------
  | |
  | doesn't satisfy `<_ as IntoIterator>::Item = &RangeSetBlaze<_>`
  | doesn't satisfy `<_ as IntoIterator>::Item = RangeSetBlaze<_>`
  | doesn't satisfy `_: MultiwayRangeSetBlaze<'_, _>`
  | doesn't satisfy `_: MultiwayRangeSetBlazeRef<_>`
  | doesn't satisfy `_: SortedDisjoint<_>`
  |
  = note: the following trait bounds were not satisfied:
          `<Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = &RangeSetBlaze<_>`
          which is required by `Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlaze<'_, _>`
          `<Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = RangeSetBlaze<_>`
          which is required by `Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlazeRef<_>`
          `std::slice::Iter<'_, ({integer}, {integer})>: range_set_blaze::SortedDisjoint<_>`
          which is required by `Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::SortedDisjoint<_>`
          `<&Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = &RangeSetBlaze<_>`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlaze<'_, _>`
          `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: IntoIterator`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlaze<'_, _>`
          `<&Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = RangeSetBlaze<_>`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlazeRef<_>`
          `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: IntoIterator`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlazeRef<_>`
          `<&Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = _`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwaySortedDisjoint<_, _>`
          `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: IntoIterator`
          which is required by `&Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwaySortedDisjoint<_, _>`
          `<&mut Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = &RangeSetBlaze<_>`
          which is required by `&mut Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlaze<'_, _>`
          `<&mut Tee<std::slice::Iter<'_, ({integer}, {integer})>> as IntoIterator>::Item = RangeSetBlaze<_>`
          which is required by `&mut Tee<std::slice::Iter<'_, ({integer}, {integer})>>: range_set_blaze::MultiwayRangeSetBlazeRef<_>`
