pub trait SimpleCollectionRef: CollectionRef {
    // Required method
    fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Item
       where Self: 'r;
}
Expand description

Collection where each item reference can be converted into a standard “simple” rust reference.

This trait is particularly useful to avoid having to include where bounds of the form for<'r> T::ItemRef<'r>: Into<&'r T::Item>, which can currently lead the compiler to try to prove T: 'static (see https://github.com/rust-lang/rust/pull/96709#issuecomment-1182403490) for more details.

Required Methods§

source

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

Implementations on Foreign Types§

source§

impl<T> SimpleCollectionRef for HashSet<T>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

source§

impl<T> SimpleCollectionRef for VecDeque<T>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

source§

impl<T> SimpleCollectionRef for Vec<T>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

source§

impl<K, V> SimpleCollectionRef for HashMap<K, V>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

source§

impl<T> SimpleCollectionRef for BTreeSet<T>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

source§

impl<K, V> SimpleCollectionRef for BTreeMap<K, V>

source§

fn into_ref<'r>(r: Self::ItemRef<'r>) -> &'r Self::Itemwhere Self: 'r,

Implementors§