lender 0.6.2

A lending-iterator trait based on higher-rank trait bounds, with full std::iter::Iterator functionality
Documentation
error: lifetime may not live long enough
  --> tests/fail/map_while_invariant.rs:14:5
   |
14 |     lender::check_covariance!();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     lifetime `'short` defined here
   |     lifetime `'long` defined here
   |     associated function was supposed to return data with lifetime `'long` but it is returning data with lifetime `'short`
   |
   = help: consider adding the following bound: `'short: 'long`
   = note: requirement occurs because of the type `Cell<Option<&String>>`, which makes the generic argument `Option<&String>` invariant
   = note: the struct `Cell<T>` is invariant over the parameter `T`
   = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
   = note: this error originates in the macro `lender::check_covariance` (in Nightly builds, run with -Z macro-backtrace for more info)

error: lifetime may not live long enough
  --> tests/fail/map_while_invariant.rs:29:5
   |
29 |     lender::check_covariance_fallible!();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     lifetime `'short` defined here
   |     lifetime `'long` defined here
   |     associated function was supposed to return data with lifetime `'long` but it is returning data with lifetime `'short`
   |
   = help: consider adding the following bound: `'short: 'long`
   = note: requirement occurs because of the type `Cell<Option<&String>>`, which makes the generic argument `Option<&String>` invariant
   = note: the struct `Cell<T>` is invariant over the parameter `T`
   = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
   = note: this error originates in the macro `lender::check_covariance_fallible` (in Nightly builds, run with -Z macro-backtrace for more info)