error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:4:5 | LL | fn iter_cov_key<'a, 'new>(v: IterMut<'a, &'static (), ()>) -> IterMut<'a, &'new (), ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::IterMut<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::IterMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:7:5 | LL | fn iter_cov_val<'a, 'new>(v: IterMut<'a, (), &'static ()>) -> IterMut<'a, (), &'new ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::IterMut<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::IterMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:10:5 | LL | fn iter_contra_key<'a, 'new>(v: IterMut<'a, &'new (), ()>) -> IterMut<'a, &'static (), ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::IterMut<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::IterMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:13:5 | LL | fn iter_contra_val<'a, 'new>(v: IterMut<'a, (), &'new ()>) -> IterMut<'a, (), &'static ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::IterMut<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::IterMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:17:5 | LL | fn range_cov_key<'a, 'new>(v: RangeMut<'a, &'static (), ()>) -> RangeMut<'a, &'new (), ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type RangeMut<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct RangeMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:20:5 | LL | fn range_cov_val<'a, 'new>(v: RangeMut<'a, (), &'static ()>) -> RangeMut<'a, (), &'new ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type RangeMut<'_, (), &()>, which makes the generic argument () invariant = note: the struct RangeMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:23:5 | LL | fn range_contra_key<'a, 'new>(v: RangeMut<'a, &'new (), ()>) -> RangeMut<'a, &'static (), ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type RangeMut<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct RangeMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:26:5 | LL | fn range_contra_val<'a, 'new>(v: RangeMut<'a, (), &'new ()>) -> RangeMut<'a, (), &'static ()> { | ---- lifetime `'new` defined here LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type RangeMut<'_, (), &()>, which makes the generic argument () invariant = note: the struct RangeMut<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:31:5 | LL | fn occ_cov_key<'a, 'new>(v: OccupiedEntry<'a, &'static (), ()>) | ---- lifetime `'new` defined here LL | -> OccupiedEntry<'a, &'new (), ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::OccupiedEntry<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::OccupiedEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:35:5 | LL | fn occ_cov_val<'a, 'new>(v: OccupiedEntry<'a, (), &'static ()>) | ---- lifetime `'new` defined here LL | -> OccupiedEntry<'a, (), &'new ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::OccupiedEntry<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::OccupiedEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:39:5 | LL | fn occ_contra_key<'a, 'new>(v: OccupiedEntry<'a, &'new (), ()>) | ---- lifetime `'new` defined here LL | -> OccupiedEntry<'a, &'static (), ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::OccupiedEntry<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::OccupiedEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:43:5 | LL | fn occ_contra_val<'a, 'new>(v: OccupiedEntry<'a, (), &'new ()>) | ---- lifetime `'new` defined here LL | -> OccupiedEntry<'a, (), &'static ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::OccupiedEntry<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::OccupiedEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:48:5 | LL | fn vac_cov_key<'a, 'new>(v: VacantEntry<'a, &'static (), ()>) | ---- lifetime `'new` defined here LL | -> VacantEntry<'a, &'new (), ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::VacantEntry<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::VacantEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:52:5 | LL | fn vac_cov_val<'a, 'new>(v: VacantEntry<'a, (), &'static ()>) | ---- lifetime `'new` defined here LL | -> VacantEntry<'a, (), &'new ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::VacantEntry<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::VacantEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:56:5 | LL | fn vac_contra_key<'a, 'new>(v: VacantEntry<'a, &'new (), ()>) | ---- lifetime `'new` defined here LL | -> VacantEntry<'a, &'static (), ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::VacantEntry<'_, &(), ()>, which makes the generic argument &() invariant = note: the struct std::collections::btree_map::VacantEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: lifetime may not live long enough --> $DIR/variance-btree-invariant-types.rs:60:5 | LL | fn vac_contra_val<'a, 'new>(v: VacantEntry<'a, (), &'new ()>) | ---- lifetime `'new` defined here LL | -> VacantEntry<'a, (), &'static ()> { LL | v | ^ returning this value requires that `'new` must outlive `'static` | = note: requirement occurs because of the type std::collections::btree_map::VacantEntry<'_, (), &()>, which makes the generic argument () invariant = note: the struct std::collections::btree_map::VacantEntry<'a, K, V> is invariant over the parameter K = help: see for more information about variance error: aborting due to 16 previous errors