[][src]Struct accountable_refcell::RefCell

pub struct RefCell<T: ?Sized> { /* fields omitted */ }

A RefCell that tracks outstanding borrows and reports stack traces for dynamic borrow failures.

Implementations

impl<T> RefCell<T>[src]

pub fn new(value: T) -> RefCell<T>[src]

Create a new RefCell value.

pub fn into_inner(self) -> T[src]

Discard this RefCell and return the value stored inside of it.

impl<T: ?Sized> RefCell<T>[src]

pub fn borrow(&self) -> Ref<'_, T>[src]

Borrow the value stored in this cell immutably. Panics if any outstanding mutable borrows of the same cell exist.

pub fn try_borrow(&self) -> Result<Ref<'_, T>, BorrowError>[src]

pub fn borrow_mut(&self) -> RefMut<'_, T>[src]

Borrow the value stored in this cell mutably. Panics if there are any other outstanding borrows of this cell (mutable borrows are unique, i.e. there can only be one).

pub fn try_borrow_mut(&self) -> Result<RefMut<'_, T>, BorrowMutError>[src]

pub fn as_ptr(&self) -> *mut T[src]

pub unsafe fn try_borrow_unguarded(&self) -> Result<&T, BorrowError>[src]

impl<T> RefCell<T>[src]

pub fn replace(&self, t: T) -> T[src]

Corresponds to https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.replace.

pub fn replace_with<F: FnOnce(&mut T) -> T>(&self, f: F) -> T[src]

Corresponds to https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.replace_with.

impl<T: Default> RefCell<T>[src]

pub fn take(&self) -> T[src]

Corresponds to https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.take.

Trait Implementations

impl<T: Clone> Clone for RefCell<T>[src]

impl<T: Debug + ?Sized> Debug for RefCell<T>[src]

impl<T: Default> Default for RefCell<T>[src]

impl<T: ?Sized + PartialEq> PartialEq<RefCell<T>> for RefCell<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for RefCell<T>

impl<T: ?Sized> Send for RefCell<T> where
    T: Send

impl<T> !Sync for RefCell<T>

impl<T: ?Sized> Unpin for RefCell<T> where
    T: Unpin

impl<T: ?Sized> UnwindSafe for RefCell<T> where
    T: UnwindSafe

Blanket Implementations

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

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

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

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.