[][src]Trait rental::IntoSuffix

pub trait IntoSuffix {
    type Suffix;
    fn into_suffix(self) -> Self::Suffix;
}

This trait converts any *_Borrow or *_BorrowMut structs generated by the rental macro into their suffix (most dependent) field.

When you own a borrow struct, such as in the body of the closure provided to the rent_all or ref_rent_all methods of a rental struct, you can call into_suffix() to discard the borrow struct and obtain the suffix field if you don't need any of the other fields.

Associated Types

type Suffix

Type of the transitive suffix of the borrow struct.

If the suffix field of the borrow struct is itself a borrow struct of a subrental, then this type is the suffix of that nested borrow struct, recursively.

Loading content...

Required methods

fn into_suffix(self) -> Self::Suffix

Discard the borrow struct and return the transitive suffix field.

If the suffix field of the borrow struct is itself a borrow struct of a subrental, then this function will return the nested suffix of that borrow struct, recursively.

Loading content...

Implementors

impl<'head: 'iref, 'iref> IntoSuffix for SimpleMutDeref_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head mut i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleMutDeref_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head mut i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleMut_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head mut i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleMut_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head mut i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefClone_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefClone_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefCovariant_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefCovariant_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefDebug_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefDebug_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefDeref_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRefDeref_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRef_Borrow<'head, 'iref>[src]

type Suffix = &'iref &'head i32

impl<'head: 'iref, 'iref> IntoSuffix for SimpleRef_BorrowMut<'head, 'iref>[src]

type Suffix = &'iref mut &'head i32

impl<'head: 'iref, 'iref, T: 'static> IntoSuffix for SimpleRefMap_Borrow<'head, 'iref, T>[src]

type Suffix = &'iref &'head T

impl<'head: 'iref, 'iref, T: 'static> IntoSuffix for SimpleRefMap_BorrowMut<'head, 'iref, T>[src]

type Suffix = &'iref mut &'head T

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRef_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix &'head T

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRef_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut &'head T

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentMut_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix &'head mut T

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentMut_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut &'head mut T

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRefCell_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix Ref<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRefCell_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut Ref<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentRefCellMut_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix RefMut<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentRefCellMut_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut RefMut<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentMutex_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix MutexGuard<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref + DerefMut, T: 'static> IntoSuffix for RentMutex_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut MutexGuard<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRwLock_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix RwLockReadGuard<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRwLock_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut RwLockReadGuard<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRwLockMut_Borrow<'head, 'suffix, H, T>[src]

type Suffix = &'suffix RwLockWriteGuard<'head, T>

impl<'head: 'suffix, 'suffix, H: 'static + StableDeref, T: 'static> IntoSuffix for RentRwLockMut_BorrowMut<'head, 'suffix, H, T>[src]

type Suffix = &'suffix mut RwLockWriteGuard<'head, T>

Loading content...