Trait rental::IntoSuffix[][src]

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[src]

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[src]

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 + 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 + 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 + 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, 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, 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, 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>

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>

Loading content...