[][src]Enum reffers::rmba::SlowRMBA

pub enum SlowRMBA<'a, T: 'a + ?Sized> {
    Ref(&'a T),
    RefMut(&'a mut T),
    Box(Box<T>),
    Arc(Arc<T>),
}

Slightly bigger and slower than RMBA, but same functionality. Mostly used just to verify correctness of the real RMBA.

Variants

Ref(&'a T)
RefMut(&'a mut T)
Box(Box<T>)
Arc(Arc<T>)

Methods

impl<'a, T: 'a + ?Sized> SlowRMBA<'a, T>[src]

pub fn try_clone(&self) -> Option<SlowRMBA<'a, T>>[src]

Will return a clone if it contains a Arc or &T, or None if it is a Box or &mut T

pub fn get_mut(&mut self) -> Option<&mut T>[src]

Will return a &mut to inner contents if it contains a &mut T, a Box or if the Arc is unique. Otherwise returns None.

Trait Implementations

impl<'a, T: Debug + 'a + ?Sized> Debug for SlowRMBA<'a, T>[src]

impl<'a, T: 'a + ?Sized> Deref for SlowRMBA<'a, T>[src]

type Target = T

The resulting type after dereferencing.

Auto Trait Implementations

impl<'a, T: ?Sized> Send for SlowRMBA<'a, T> where
    T: Send + Sync

impl<'a, T: ?Sized> Sync for SlowRMBA<'a, T> where
    T: Send + Sync

impl<'a, T: ?Sized> Unpin for SlowRMBA<'a, T>

impl<'a, T> !UnwindSafe for SlowRMBA<'a, T>

impl<'a, T: ?Sized> RefUnwindSafe for SlowRMBA<'a, T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> Repr for T[src]

type Store = T

impl<T> Repr for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]