/// Trait for getting the item of a lending iterator.
///
/// The lifetime can force the consumer to drop the item before obtaining a new item (which
/// requires a mutable borrow to the iterator, invalidating the borrow of the previous item).
///
/// See [`lender`] for why this strategy is used instead of a simple GAT.
///
/// The item of a lending iterator, with a particular lifetime.
///
/// The lifetime can force the consumer to drop the item before obtaining a new item (which
/// requires a mutable borrow to the iterator, invalidating the borrow of the previous item).
pub type LentItem<'lend, L> = Item;