pub type HKTItem<I: ?Sized + LendingIterator> = HKT<dyn for<'ඞ> WithLifetime<'ඞ, T = Item<'ඞ, I>>>;
Expand description

“Lift” and convert an impl LendingIterator into an impl HKT.

type HKTItem<I : LendingIterator> = HKT!(Item<'_, I>);
  • It is therefore a CanonicalHKT (no need to apply it again).

The main property of this alias, and thus the connection between impl LendingIterators and impl HKT, is that:

// Given some `<'n, I : LendingIterator>`:
Apply!(HKTItem<I><'n>) = Feed<'n, HKT!(Item<'_, T>)> = Item<'n, I>